2
我是gdb的新手。當我調試我的程序時,我只能得到如下的回溯。關於符號的gdb問題
Program received signal SIGSEGV, Segmentation fault.
0x000000003075a238 in ??()
(gdb) backtrace
#0 0x000000003075a238 in ??()
#1 0x00007fff72825da8 in ??()
#2 0x0000000000000008 in ??()
#3 0x000000003063c340 in ??()
#4 0x0000000000000000 in ??()
(gdb)
我想有一些符號信息缺失。我得到這個消息
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found).
所以我嘗試(GDB)符號文件/usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so在GDB的啓動並沒有幫助。
如何知道哪些符號信息丟失?整個項目的代碼用gcc -g編譯。
你可能不會從標準C庫,除非你正在調試_it_需要的符號 - 機會是顯著高於任何'SIGSEGV'問題在_your_代碼。你確信你的代碼在編譯後沒有被剝離嗎? ...另一方面,#4有一個空指針。也許整個堆棧都是垃圾。 – sarnold
'gcc -g'應該可以工作。確保任何鏈接也保留符號。 –