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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...