从gdb中找不到调试信息
我正在做一个C文件项目。以下是make命令:从gdb中找不到调试信息,gdb,Gdb,我正在做一个C文件项目。以下是make命令: gcc -std=c99 -ggdb picaca.c -o aca -lm 它有分段错误。我使用gdb回溯分段,但它找不到调试信息: Program received signal SIGSEGV, Segmentation fault. 0x0000000200419a77 in ?? () 我仔细检查了gcc命令中的-g,并将ulimit设置为unlimited。如何修复此错误?是否启用了核心文件?如果在执行目录中没有看到核心文件,请在命令
gcc -std=c99 -ggdb picaca.c -o aca -lm
它有分段错误。我使用gdb回溯分段,但它找不到调试信息:
Program received signal SIGSEGV, Segmentation fault.
0x0000000200419a77 in ?? ()
我仔细检查了gcc命令中的-g,并将ulimit设置为unlimited。如何修复此错误?是否启用了核心文件?如果在执行目录中没有看到核心文件,请在命令行上尝试“ulimit-c unlimited”。另一种解释是,由于堆栈损坏等原因,您所处的地址无效。
bt
说了什么?如果键入b main
,会发生什么?它知道main在哪里吗?看起来像是堆栈损坏。尝试单步遍历合理的代码块,看看它发生在哪里,或者首先在valgrind下运行可执行文件。