我有一个在Windows 8计算机上运行的Delphi XE2应用程序(32位),但在带有6GB RAM的Windows 7 64位中出现访问冲突错误。
我会理解,如果我访问了大量数据,但它只是说明了一些内容:
Access violation at address 0000CD31. Read of address 00000000.
地址始终一致。读地址也是如此。
通常从我读过的,这是一个试图访问不再有效/正在使用的内存部分的指针。但我怀疑它为什么适用于Windows 8而不适用于Windows 7 64位......
我无法在本地VM中重现这一点(如果是语言问题,则使用相同语言的相同Windows),这只发生在客户端的PC上。
另一个甚至是最糟糕的问题是我正在为同事调试这个问题,所以我无法访问代码,也无法尝试其他功能(我在这里读过的一个修复程序),看看它是否是不。所以我不能使用像madExpert这样的东西来实际调试代码。我需要一些遥控器,可以告诉我有关程序完全符合的信息,并在发生访问冲突时远程运行。
答案 0 :(得分:1)
如果您无法构建像madexcept这样的内容,那么您的选择仅限于
从那些开始,最简单的是procdump
procdump -ma -w yourprocess
获得转储后,您可以使用windbg
!analyze -v
这应该会显示导致问题的堆栈跟踪。