微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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并检查每次崩溃时的调用堆栈,以尝试识别可能是错误根本原因的常见函数.

原文地址:https://www.jb51.cc/c/117840.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐