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

delphi – 如何在现场调试访问冲突?

该领域的应用程序间歇性地收到此消息:

我无法在我的机器上再现这个.我也追踪了我相信的相关代码,找不到任何访问未初始化的对象.

我从来没有必须处理这种问题.

我做了一个与madExcept的构建,不幸的是,该程序一旦捆绑就不会崩溃.

关于madExcept对EurekaLog的任何意见,找到这样的事情?我从来没有使用过FastMM.在他的情况下会有用吗? (Delphi 2010)在FastMM中设置任何建议的标志?任何其他建议?

解决方法

请注意您尝试阅读的地址非常低.这种错误几乎肯定意味着你尝试取消引用一个零指针,即使你找不到一个.

考虑到你对这个行为的描述,我怀疑你有一个内存踩踏 – 有些东西在指向一个对象的指针之上爆发一个零.当你改变的东西你移动的东西,踩踏移动到某个地方无害.

打开范围检查和溢出检查.

注意,违规对象的大小必须至少为3C0字节 – 这应该有助于缩小它,大多数对象将小于此值.

我以前做过的这样的错误,只有在现场才显示出来,就是把记录检查点放在 – 一堆显示某处的行中 – 一个简单的数字序列是可以的.找出什么号码显示,当它崩溃,你知道哪些检查点是最后执行.如果没有缩小到足够的程度,您可以重复该过程,现在已经缩小了.

原文地址:https://www.jb51.cc/delphi/102839.html

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

相关推荐