【发布时间】:2020-04-08 02:28:24
【问题描述】:
我在调试崩溃时遇到了惊人的分段错误。 它在取消引用 char* 指针的行中显示分段错误。但是当我使用gdb取消引用指针时,gdb没有报错。
我的平台是 linux。有什么想法吗?
【问题讨论】:
我在调试崩溃时遇到了惊人的分段错误。 它在取消引用 char* 指针的行中显示分段错误。但是当我使用gdb取消引用指针时,gdb没有报错。
我的平台是 linux。有什么想法吗?
【问题讨论】:
但是当我使用gdb取消引用指针时,gdb没有报错。
This answer 解释了为什么会发生这种情况。它没有什么“令人惊奇”的地方。
【讨论】:
答案是否定的,这是不可能的。
但要找出原因,请安装 valgrind,然后运行
valgrind ./yourexe
通常它会告诉您您忽略的大部分错误。记得使用不带 -O 选项的 gcc -g 编译你的二进制文件,这样你就可以看到源代码的行号。
【讨论】: