我对Linux的工作还比较陌生,所以我可能忽略了一些简单的东西。
在Windows上,如果我的程序导致分段错误,我习惯于弹出一些有用的信息。影响:Access violation reading/writing/executing memory at address 0x****,Stack overflow等的东西。
在通过QT进行Linux调试时,我得到的只是:
The inferior stopped because it received a signal from the Operating System.
Signal name : SIGSEGV
Signal meaning : Segmentation fault是否有办法使这些消息提供与其窗口对应方相同的信息,或者至少提供错误类型(内存冲突、堆栈溢出等)?当然,我可以用GDB调试程序,但这个弹出通常会让我很好地了解问题的所在,而不是在坠机现场挖洞。
发布于 2014-08-06 04:03:28
是的,gdb并不试图解释坠机的原因。我想也许它在这里还能做得更多。
有关造成崩溃的确切原因的更多信息,您可以查看$_siginfo。在gdb手册中有关于这个的一节。不幸的是,这是相当模糊的。
发布于 2014-08-30 14:51:07
当您从获得此消息时,它还会用数据填充Stack视图。在顶部条目中,您通常会看到导致错误访问的指令地址。
https://stackoverflow.com/questions/25124013
复制相似问题