2

在 Ubuntu 上的 Netbeans 中使用 C 语言进行开发时,在开发的某个阶段,在 Netbeans 调试器(使用 gdb)中启动程序变得不可能。启动调试过程甚至未能执行main函数的第一行。即使是第一行的断点也无济于事。进程在断点被命中之前崩溃。

状态栏中显示的消息:

程序由信号 SIGSEGV 终止

该程序在调试器之外运行得很好,并且直接使用 gdb 调试程序(没有 Netbeans 包装它)也可以正常工作。

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

4

1 回答 1

3

原来我设置的“手表”是罪魁祸首。当我将它们全部删除时,调试正常进行。

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

我想条件断点的不幸条件会导致类似的行为。

希望这可以帮助!

于 2012-11-08T18:52:37.250 回答