【发布时间】:2013-02-11 17:39:27
【问题描述】:
我正在使用 KDevelop 进行 C++ 开发和调试。看起来我在某处取消引用 NULL 指针,因为我得到:
*** Program received signal SIGSEGV (Segmentation fault) ***
我怎样才能知道它发生在哪里?我希望 KDevelop 打破这些信号和未处理的异常。
【问题讨论】:
-
不知道你在
Kdevelop中是如何做到的——通常这只是“在调试器中运行”的一种情况。如果没有别的,你总是可以在命令行的 GDB 中运行它——只要确保它是用调试符号编译的。当崩溃停止时输入“where”,它会显示你是如何到达那里的堆栈跟踪。 [顺便说一句,除了 NULL 指针之外,可能是各种其他错误访问]。 -
@MatsPetersson,我在调试器中运行它,它甚至似乎停止在信号处。我不知道它停在哪里...
-
再次,不确定如何使用 KDevelop - 是否有一个“堆栈”窗口或类似的东西,您需要启用/带到前面/视图(无论它可能被称为什么,但它已经完成)。