如何确定导致分段错误的代码错误在哪里?
我的编译器 ( gcc) 可以显示程序中故障的位置吗?
gcc
GCC 不能这样做,但 GDB调试器肯定可以。-g使用开关编译您的程序,如下所示:
-g
gcc program.c -g
然后使用 gdb:
$ gdb ./a.out (gdb) run <segfault happens here> (gdb) backtrace <offending code is shown here>
这是一个很好的教程,可以帮助您开始使用 GDB。
段错误发生的位置通常只是关于“导致错误”在代码中的位置的线索。给定位置不一定是问题所在。