【发布时间】:2016-06-28 03:56:54
【问题描述】:
我正在处理一个 C 文件项目。这是make命令:
gcc -std=c99 -ggdb picaca.c -o aca -lm
它有分段错误。我用gdb回溯分段,但是找不到调试信息:
Program received signal SIGSEGV, Segmentation fault.
0x0000000200419a77 in ?? ()
我仔细检查了 gcc 命令中有 -g,并将 ulimit 设置为无限制。如何解决此错误?
【问题讨论】:
-
??的另一种解释是,由于堆栈损坏等原因,您的地址无效。bt说什么,如果你输入b main会发生什么 - 它知道 main 在哪里吗? -
看起来像堆栈损坏。尝试通过合理的代码块来查看它发生的位置,或者对于初学者来说,在 valgrind 下运行您的可执行文件。
标签: gdb