【发布时间】:2014-11-30 15:16:21
【问题描述】:
我的应用程序收到分段错误。回溯日志 -
Program received signal SIGSEV, Segmentation fault.
0x00000000004a5c03 in engine_unlocked_finish ()
(gdb) bt
#0 0x00000000004a5c03 in engine_unlocked_finish ()
#1 0x00000000004a5d71 in ENGINE_finish ()
#2 0x000000000046a537 in EVP_PKEY_free_it ()
#3 0x000000000046a91b in EVP_PKEY_free ()
#4 0x00000000004b231a in pubkey_cb ()
#5 0x0000000000470c97 in asn1_item_combine_free ()
#6 0x0000000000750f70 in X509_CINF_seq_tt ()
#7 0x00000000010f7d90 in ?? ()
#8 0x00000000010f7cf0 in ?? ()
#9 0x0000000000000000 in ?? ()
#9 的堆栈帧很有趣。它的地址是0x0000000000000000。这是否意味着堆栈在到达engine_unlocked_finish () 之前就已损坏?
【问题讨论】:
-
是的,您的堆栈帧已损坏。至少用
gcc -Wall -g编译,也许也用-fsanitize=address;也使用valgrind -
-fstack-protector-all也可能有帮助。
标签: c gdb libcurl debug-backtrace