如何调试此错误?
Access violation at address 00498AD7 in module 'MyApp.exe' read of address 00000008
我有一个应用程序,其页面控件与客户端对齐,当我在特定的tabSheet中时,如果我单击Windows最小化按钮,则会出现访问冲突错误(并且应用程序最小化)。我可以最大化它看起来像什么都没错。 但那条消息让我和我的顾客感到恼火。 它也只发生在一个TabSheet中。当我在任何其他选项卡中时,当我最小化时,不会出现错误。
我想在Search |中输入错误编号转到地址...但它没有启用所以我不能。 可能是什么问题? 我不使用动态创建的组件,它们都是在设计时添加的,所以这不是一个免费的问题。
如何跟踪此问题的根源? 感谢
答案 0 :(得分:2)
您正在访问地址为8的变量。这通常意味着您有一个nil
对象引用,并且您尝试访问偏移量为8的成员。地址00498AD7
是位置在导致错误的代码的可执行文件中。如果您有可执行文件的详细地图文件,则可以将该地址交叉引用到程序中的函数。但是,这通常是有限的用途。
调试它很容易。确保调试器选项配置为在引发异常时在IDE中断。然后在调试器下运行,当错误发生时,调试器将突出显示导致错误的代码行。或者你可能需要查看几个级别的调用堆栈。
除了当前的问题之外,使用像madExcept或EurekaLog这样的工具可以让你在远程发生这些问题时进行调试。例如,对您的客户'机器。