2
我的應用程序在MSHTML工作線程啓動時崩潰。該EXCEPTION_RECORD給出:DEP(數據執行保護)違反可執行地址?
0:066> .exr 0e11f668
ExceptionAddress: 732019ab (rtutils!AcquireWriteLock+0x00000010)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000008
Parameter[1]: 732019ab
Attempt to execute non-executable address 732019ab
但!address
表明地址732019ab確實是可執行文件:
0:066> !address 732019ab
Usage: Image
Base Address: 73201000
End Address: 7320a000
Region Size: 00009000
State: 00001000 MEM_COMMIT
Protect: 00000020 PAGE_EXECUTE_READ
Type: 01000000 MEM_IMAGE
Allocation Base: 73200000
Allocation Protect: 00000080 PAGE_EXECUTE_WRITECOPY
Image Path: C:\Windows\SysWOW64\rtutils.dll
Module Name: rtutils
Loaded Image Name: rtutils.dll
Mapped Image Name:
More info: lmv m rtutils
More info: !lmi rtutils
More info: ln 0x732019ab
More info: !dh 0x73200000
在732019ab的指令是:
0:066> u 732019ab l1
rtutils!AcquireWriteLock+0x10:
732019ab 8d4618 lea eax,[esi+18h]
爲什麼一個DEP違反處於報告其頁面被標記爲PAGE_EXECUTE_WRITECOPY的地址?
謝謝肖恩,我會記住這些可能性。奇怪的是,在能夠重現問題2次(rtutils.dll中的兩個違規但在不同的偏移量)之後,它停止了發生。 –