在标签表中最小化表单时访问冲突



如何调试此错误?

Access violation at address 00498AD7 in module 'MyApp.exe' read of address 00000008

我有一个应用程序,其页面控件与客户端对齐,当我处于特定的选项卡工作表中时,如果我单击 Windows 最小化按钮,我会收到访问冲突错误(并且应用程序最小化)。我可以最大化它看起来没什么问题。但这条消息让我和我的客户感到恼火。此外,它只发生在一个标签表中。当我在任何其他标签表中时,当我最小化时不会出现错误。

我想在"搜索 |转到地址...但它没有启用,所以我不能。可能是什么问题?我不使用动态创建的组件,它们都是在设计时添加的,所以这不可能是一个免费问题。

如何跟踪此问题的根源?谢谢

您正在访问地址为 8 的变量。这通常意味着您有一个nil对象引用,并且您正在尝试访问偏移量为 8 的成员。地址00498AD7是导致错误的代码的可执行文件中的位置。如果您有可执行文件的详细映射文件,则可以将该地址交叉引用到程序中的函数。但是,这通常用途有限。

调试它很容易。确保将调试器选项配置为在引发异常时中断 IDE。然后在调试器下运行,当发生错误时,调试器将突出显示导致错误的代码行。或者,也许您必须查找几个级别的调用堆栈。

除了眼前的问题之外,使用madExcept 或 EurekaLog 等工具可以让您在此类问题发生在您远程时对其进行调试。例如,在客户的机器上。

最新更新