c - 神秘的段错误

标签 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.

最佳答案

使用 -g 选项编译代码,

gcc -g yourcode.c

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

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

gdb -c core yourexecutable

在调试器内使用bt(回溯)查看堆栈跟踪

关于c - 神秘的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16292637/

相关文章:

c - GDB:尝试取消引用通用指针

c - 如何在 C 中优化这段代码

c - C 中的二进制到十进制的转换 - 输入大小问题

c - 服务器循环中的调用时间(NULL)有多昂贵?

c - C 中变量的作用域

c - 如何在 gdb 中打印 OpenMP 并行区域的局部变量?

linux - 尽管安装了调试信息,但 GDB 未显示行号信息

c - malloc 使嵌入式系统崩溃

c++ - 使用 ARM 跨工具链进入同一文件中定义的函数时出现段错误

gdb - 为什么 gdb 转换不起作用?