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

前端之家收集整理的这篇文章主要介绍了C:当我的应用程序在随机位置崩溃时从哪里开始?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一款游戏,当我在游戏中执行特定操作时,它会崩溃.
所以我进行了调试,我看到我的应用程序在简单的C语句中崩溃,比如if,return,……每当我重新运行时,它会在3行中的一行中随机崩溃而且它永远不会成功.

第1行:

if (dynamic) { ... } // dynamic is a bool member of my class

第2行:

return m_Fixture; // a line of the Box2D physical engine. m_Fixture is a pointer.

第3行:

return m_Density; // The body of a simple getter for an integer.

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

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

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

谢谢

解决方法

像这样的随机崩溃通常是由堆栈损坏引起的,因为这些是分支指令,因此对堆栈的状况很敏感.这些有点难以追踪,但您应该运行valgrind并检查每次崩溃时的调用堆栈,以尝试识别可能是错误根本原因的常见函数.

猜你在找的C&C++相关文章