运行二进制文件时出现一般性保护错误。但是没有核心转储。我该如何调试问题?
这是我正在使用的“ld”的问题吗?
kernel:testbin [24879] general protection ip:7fd7271585e0 sp:7fff1ef55070 error:0 in ld-2.14.so [7fd727142000 + 20000]
答案 0 :(得分:1)
在调试之前,使用调试符号(-g
选项)重新编译程序,否则您将没有足够的详细信息来有效地快速调试它(如文件名,函数,行)。
还有更多用于调试程序的程序,但现在我建议你使用valgrind。
所以通过valgrind运行你的程序:
valgrind /path/to/your/program
然后重现步骤以使您的程序General Protection Fault。