神秘的Seg故障

时间:2013-04-30 05:17:05

标签: c gdb

我得到了一个我以前见过的段错误,但不知道如何解决。它告诉我strcpy有问题,但我不确定它意味着什么。任何人都可以向我解释这个消息以及我需要做些什么来解决它?

Program received signal SIGSEGV, Segmentation fault.
__strcpy_sse2 () at ../sysdeps/x86_64/multiarch/../strcpy.S:60
60  ../sysdeps/x86_64/multiarch/../strcpy.S: No such file or directory.

2 个答案:

答案 0 :(得分:3)

使用-g选项编译代码,

gcc -g yourcode.c

如果程序崩溃,这将生成核心转储(您可能还需要激活核心转储生成(例如ulimit -c unlimited

现在您可以使用gdb来跟踪问题:

gdb -c core yourexecutable

在调试器中使用bt(backtrace)来查看堆栈跟踪

答案 1 :(得分:0)

如果可以,请使用调试器,如果可以,请使用分析器。如果你不能做任何花时间在代码中搜索strcpy(这也可能在DLL中)并检查它是否正确使用。