【发布时间】:2011-01-15 06:34:11
【问题描述】:
当错误消息包含实际地址时,我知道如何创建 .map 文件来跟踪访问冲突错误。
但是如果错误信息显示怎么办
Access violation at address 00000000. Read of address 00000000.
我从哪里开始寻找这个问题的原因...?
【问题讨论】:
-
这让我想起了在 Turbo C 下,“空指针赋值”,当它以错误的方式管理时......
-
它可以重现吗?如果没有,请添加类似 madExcept 的工具并等待错误报告,否则使用调试器并查看堆栈跟踪。
-
这是从旧的 Turbo C 时代开始,在调试器下,对指向位置 0 的指针变量添加一个监视,即单步执行时刚刚执行的行,导致指针变量指向位置0 变化值是搞砸的行。主要是指针错误...
-
Tommie,可能有 许多 个指针变量保持地址值为零。为什么要在其中任何一个上设置手表? 更改其中之一不会导致此错误。当 instruction pointer 为零时会发生此错误,但您不能对此设置监视,因为它在每条指令上都会更改。哪个调试器告诉你 previous 执行的行?该调试器将使解决此问题变得非常容易。
-
你接受的答案并没有告诉你太多,IMO。
标签: delphi