在编译错误后执行应用程序关闭,但在调试时工作正常!

时间:2011-05-26 20:01:40

标签: c++ debugging opengl sdl sigsegv

好。这就是问题所在。就是这样。

我有一个用SDL和OpenGL制作的应用程序。 SDL打开了一个额外的窗口(它是控制台),是图形窗口的附加窗口。当我执行我得到3输出错误时,控制台告诉我。它被关闭(图形化)。

但是我知道收到SIGSEGV信号时会发生这种情况(不知道如何捕获它),并且在调试时它出现在我的IDE(Code :: blocks)中。但是这次没有出现,一切都运转正常。但是当它执行时崩溃..

什么......

我可以期待什么样的错误?有时它会被关闭,有时却没有。怎么知道我得到了什么样的问题?。

1 个答案:

答案 0 :(得分:1)

SIGSEGV是一个分段错误,您正在尝试访问您的进程无法访问的内存。

假设您在UNIXy系统上,您应该能够将程序转到核心转储,然后在调试器中查看核心转储;或者,使用像Valgrind这样的内存调试器来查明导致此问题的内存管理问题。