虽然在Ubuntu上用C语言开发Netbeans,但在开发的某个时候,在Netbeans调试器(使用gdb)中启动程序变得不可能了。启动调试进程甚至无法执行main
函数的第一行。即使是第一行的断点也没有帮助;进程在命中断点之前就崩溃了。
状态栏中显示的消息:
程序以信号SIGSEGV终止
该程序在调试器之外运行良好,直接用gdb调试程序(没有Netbeans包装)也很好。
我已经知道了如何解决这个问题(见下文),但我还是会发布这个问题,这样其他人在遇到同样的问题时就会找到解决方案。
发布于 2012-11-08 10:52:37
原来我放的“手表”就是罪魁祸首。当我把它们全部删除时,调试正常进行。
我不确定是哪个手表引起了这个问题。至少有一个是函数调用,在错误的时间调用时可能会出现分段错误。我最怀疑的就是这个。
我认为条件断点的不幸情况可能会导致类似的行为。
希望这能有所帮助!
https://stackoverflow.com/questions/13295767
复制相似问题