相关疑难解决方法(0)

程序只会崩溃作为发布版本 - 如何调试?

我这里有一个"Schroedinger's Cat"类型的问题 - 我的程序(实际上是我的程序的测试套件,但是程序仍然是)崩溃,但只有在发布模式下构建时才会发生,并且只有在从命令行启动时.通过穴居人调试(即整个地方讨厌的printf()消息),我已经确定了代码崩溃的测试方法,但遗憾的是实际的崩溃似乎发生在某些析构函数中,因为我看到的最后一条跟踪消息都在其他执行干净的析构函数.

当我尝试在Visual Studio中运行此程序时,它不会崩溃.从WinDbg.exe启动时也是如此.仅从命令行启动时才会发生崩溃.这是在Windows Vista,btw下发生的,不幸的是我现在无法访问XP机器进行测试.

这将是非常好的,如果我能得到的Windows打印出堆栈跟踪,或一些其他不是简单地结束,如果它已经退出干净方案.有没有人对如何在这里获得更有意义的信息有任何建议,希望能解决这个问题?

编辑:问题确实是由一个越界数组引起的,我在这篇文章中对此进行了更多描述.感谢大家帮忙找到这个问题!

c++ debugging

88
推荐指数
7
解决办法
7万
查看次数

C++:当我的应用程序在随机位置崩溃时从哪里开始?

我正在开发一款游戏,当我在游戏中执行特定操作时,它会崩溃.所以我进行了调试,我看到我的应用程序在简单的C++语句中崩溃,例如if,return...每次重新运行时,它会在3行中的一行中随机崩溃,但它永远不会成功.

第1行:

if (dynamic) { ... } // dynamic is a bool member of my class
Run Code Online (Sandbox Code Playgroud)

第2行:

return m_Fixture; // a line of the Box2D physical engine. m_Fixture is a pointer.
Run Code Online (Sandbox Code Playgroud)

第3行:

return m_Density; // The body of a simple getter for an integer.
Run Code Online (Sandbox Code Playgroud)

我从应用程序和操作系统都没有错误...

是否有提示,提示或技巧来调试更有效率并了解正在发生的事情?

这就是我喜欢Java的原因......

谢谢

c++ crash debugging

6
推荐指数
3
解决办法
2941
查看次数

标签 统计

c++ ×2

debugging ×2

crash ×1