c - 使用 Netbeans/gdb 调试 C 会立即终止并出现 SIGSEGV?

标签 c debugging netbeans gdb segmentation-fault

在 Ubuntu 上的 Netbeans 中使用 C 进行开发时,在开发过程中的某个时刻,无法在 Netbeans 调试器(使用 gdb)中启动程序。启动调试进程甚至无法执行 main 函数的第一行。即使在第一行设置断点也无济于事;进程在断点被击中之前崩溃。

状态栏中显示的消息:

程序被信号 SIGSEGV 终止

该程序在调试器之外运行得很好,并且直接使用 gdb 调试该程序(无需 Netbeans 对其进行包装)也可以正常运行。

我已经想出了如何解决这个问题(见下文),但无论如何我都会发布这个问题,以便其他人在遇到同样问题时找到解决方案。

最佳答案

原来我设置的“ watch ”是罪魁祸首。当我把它们全部删除后,调试就正常进行了。

我不确定是哪个 watch 导致了问题。 至少有一个函数调用在错误的时间调用时可能会出现段错误。这是我最怀疑的。

我认为条件断点的不幸情况可能会导致类似的行为。

希望这有帮助!

关于c - 使用 Netbeans/gdb 调试 C 会立即终止并出现 SIGSEGV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295767/

相关文章:

c - char* x 和 char x[] 之间 sizeof 的区别

java - 使用 Bridj 和 JNAerator 在 Java 中使用指针地址

c - 为什么我的程序会跳过 gets() 函数?

c++ - 无符号值之间的减法 - 意外结果

ios - 如何调试以 NSException 类型的未捕获异常终止

java - 文本区域中数据库中的大文本

delphi - 仅使用 .exe 进行调试

debugging - 用于调试着色器的免费软件

java - 在java servlet netbean中使用库

c++ - 在 Netbeans 上编译和运行 OpenGL 代码