未连接调试器时程序中断
问题描述:
我正在使用2D引擎,它使用C++编写,我在Windows 7 64位上使用Microsoft Visual Studio 2010。未连接调试器时程序中断
我使用OpenGL进行硬件加速,现在正在试验使用纹理作为画布的帧缓冲区。 (类的东西,允许用户在屏幕上绘制)
现在这个帧缓冲区,只要我开始附带的调试器(F5)
的程序。如果我从外面启动该程序工作正常,IDE,或者在没有调试器(CTRL + F5)的情况下启动它,我无法绘制纹理,但每帧都会闪烁并出现OpenGL堆栈下溢错误。
- 我真的不知道从哪里开始寻找问题,你能帮我吗?
答
我不能肯定,但它可能是几件事情之一:
- 未初始化的变量,一个调试器(有时)初始化为0
- 竞争条件,因为不显示时间现在全部不同
+1
对于未初始化的变量,特别是对于堆分配的变量。从调试器开始时,您会看到Windows调试堆,它会以特定模式预先填充堆分配的内存,而在“正常”启动时,您将获得包含任何内容的页面(程序启动时通常为零)。看到发生了什么的一个可行的技巧是在程序启动后附加调试器。 – 2011-04-30 21:19:32
你的程序是否多线程? – 2011-04-30 20:24:30
首先检查是否所有.dll与.exe文件位于同一文件夹中。如果是,请尝试更改项目属性(alt + F7)配置属性 - > c/C++ - >代码生成,并在右侧菜单中将运行时库更改为/ MTd – Raven 2011-04-30 20:26:03