-3

我遇到了以前见过的段错误,但不知道如何解决。它告诉我 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.
4

2 回答 2

3

使用 -g 选项编译代码,

gcc -g yourcode.c

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

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

gdb -c core yourexecutable

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

于 2013-04-30T05:26:23.043 回答
0

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

于 2013-04-30T05:21:10.353 回答