4
我不知道爲什麼我看不到這個回溯。加載我自己的二進制文件中的符號,並安裝包libc6-dbg
。我需要告訴gdb在哪裏可以找到libc符號嗎?memcpy backtrace沒有符號可用
Program received signal SIGSEGV, Segmentation fault.
__memcpy_ia32() at ../sysdeps/i386/i686/multiarch/../memcpy.S:74
74 ../sysdeps/i386/i686/multiarch/../memcpy.S: No such file or directory.
(gdb) bt full
#0 __memcpy_ia32() at ../sysdeps/i386/i686/multiarch/../memcpy.S:74
No locals.
#1 0x00000000 in ??()
No symbol table info available.
(gdb)
很奇怪你沒有正確的背跡,你是用「-g -O0」選項建造的嗎?它可能是覆蓋返回地址的堆棧損壞? – jcm
@jcm會對-O0有影響嗎? – jsj
構建器可能通過修剪來自二進制文件的調試信息來優化您的應用程序。 「-O0」禁用優化並避免這種可能性。另一方面,從回溯行數來看,我敢打賭一堆堆損壞。我會嘗試添加一個答案來嘗試幫助解決這個問題。 – jcm