为什么Windows安全模式魔术?

时间:2016-04-21 23:51:47

标签: windows heap

每个人

我帮助I.T.用于医疗实践。事实证明,EMR软件中存在一个偶尔出现的错误。 (目前所有计算机都在Windows 10上运行)

程序死了,我得到弹出窗口“一个问题导致程序停止工作......

我连接了一个调试器。根据堆栈跟踪,它看起来像代码中的堆问题。我打开GFlags并且每次都打它。我告诉EMR软件的人,但他们不喜欢声称错误,并想证明它不是他们。

他们将计算机启动到带网络连接的安全模式,并且看到没有堆问题所以他们说他们已经摆脱困境。不是他们。

我在所有机器(32位和64位)和干净模式下都重现了这个问题,并在激活的管理员帐户下登录,但每次安全模式都有效。

我通过在命令窗口中运行来重现该问题:

gflags /p /enable emrprogram.exe /full

cdb -g -x emrname.exe

问题:

  1. 安全模式如何使堆错误消失?

  2. 有关以安全模式再现错误的任何建议,即在安全模式下真正发生的事情我可以使其更像普通模式吗?

  3. P.S。这是堆栈跟踪:

    VERIFIER STOP 00000010: pid 0x238: corrupted start stamp
    
    
    04F61000 : Heap handle
    
    0014F09C : Heap block
    
    00000000 : Block size
    
    00000000 : Corrupted stamp
    
    
    
    
    0:000> kb
    ChildEBP RetAddr  Args to Child
    
    0014ed20 5fa0aac9 00000010 5fa01bc8 04f61000 verifier!VerifierStopMessage+0x27e
    
    0014ed84 5fa0ae8a 04f61000 00000004 0014f09c 
    verifier!AVrfpDphReportCorruptedBlock+0x239
    
    0014ede0 5fa0b3c2 04f61000 0014f09c 00000004 verifier!AVrfpDphCheckNormalHeapBlock+0x11a
    
    0014ee00 5fa09cf3 04f61000 05230000 01000002 verifier!AVrfpDphNormalHeapFree+0x22
    
    0014ee24 77d76c42 04f60000 01000002 0014f09c verifier!AVrfDebugPageHeapFree+0xe3
    
    0014ee84 77cca934 0014f09c 014b1fe2 04f60000 ntdll!RtlDebugFreeHeap+0x3c
    
    0014ef40 77cc9238 00000000 0014f09c 44ce6ff8 ntdll!RtlpFreeHeap+0xb4
    
    *** ERROR: Module load completed but symbols could not be loaded for image00400000
    
    0014ef68 01f3d902 04f60000 00000000 0014f09c ntdll!RtlFreeHeap+0x268
    
    WARNING: Stack unwind information not available. Following frames may be wrong.
    
    0014f0b8 01f3c6c6 0014f1dc 08f58f70 0dab2f88 image00400000+0x1b3d902
    
    0014f21c 01f3c4b9 0dab2f88 0014f2d8 08f58f70 image00400000+0x1b3c6c6
    
    0014f320 02053935 0dab2f88 0014f454 0014f500 image00400000+0x1b3c4b9
    
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SYSTEM32\MSVBVM60.DLL -
    
    0014f4f4 66051d33 08f58f70 0014f510 0051c783 image00400000+0x1c53935
    
    0014f510 66052034 0051c783 0014f57c 00000002 MSVBVM60!IID_IVbaHost+0x236f3
    
    0014f528 6605211a 08f58fe8 0014f6c4 0014f57c MSVBVM60!IID_IVbaHost+0x239f4
    
    0014f6cc 77b3b3cc 00000009 0659b040 00000000 MSVBVM60!IID_IVbaHost+0x23ada
    
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\emrname\IGThreed40.ocx -
    
    0014f72c 2411bead 0c7e0fac 00000016 241343f8 GDI32!ScriptStringAnalyzeGlyphs+0x2cc
    
    0014f98c 2410ae97 0c71fd60 2413794c 0c71fff0 IGThreed40!DLLGetDocumentation+0x27d1
    
    0014f9a4 24116fda 09f4b6fc 16fa9fd4 759fb0ff IGThreed40+0xae97
    
    0014f9c8 759dc807 0c71fff0 000001cc 00000004 IGThreed40+0x16fda
    
    0014fc70 2411b679 0cac5638 0c71fff0 fffffdd9 OLEAUT32!CTypeInfo2::Invoke+0x517
    
    0014fc9c 24106d11 0c71fd60 fffffdd9 0cac5638 IGThreed40!DLLGetDocumentation+0x1f9d
    
    0014fcd0 241179f6 0c71fd60 fffffdd9 6601aea8 IGThreed40+0x6d11
    
    0014fcfc 66049039 0c71fd60 fffffdd9 6601aea8 IGThreed40+0x179f6
    
    0014fd44 66049a8a 0c7e0e8c 08baaf0c 0000000d MSVBVM60!IID_IVbaHost+0x1a9f9
    
    0014fd74 66083900 0c7e0e8c 000a037e 0000104d MSVBVM60!IID_IVbaHost+0x1b44a
    
    0014fd9c 66083d58 08b8ce6c 0014fe50 00000001 MSVBVM60!IID_IVbaHost+0x552c0
    
    0014fdd8 6601ca5e 08b8ce6c 00c8030c 7552d390 MSVBVM60!IID_IVbaHost+0x55718
    
    0014fe08 6600a782 0014fe50 ffffffff 6600a72e MSVBVM60!Zombie_Release+0xe005
    
    0014fe34 6600a6b0 07097f8c 0014fe50 ffffffff MSVBVM60!_vbaStrToAnsi+0x3ab
    
    0014fe78 6600a63f ffffffff 07097f8c 07080000 MSVBVM60!_vbaStrToAnsi+0x2d9
    
    0014febc 6600a51d 0709dfcc ffffffff 00000238 MSVBVM60!_vbaStrToAnsi+0x268
    
    0014fed8 6600a4e8 07097f88 0709dfcc ffffffff MSVBVM60!_vbaStrToAnsi+0x146
    
    0014fefc 66003644 ffffffff 03f40670 03f40670 MSVBVM60!_vbaStrToAnsi+0x111
    
    0014ff78 00489fca 004a30b4 779995f4 0020d000 MSVBVM60!ThunRTMain+0xa0
    
    0014ff94 77cb241a 0020d000 014b0f7e 00000000 image00400000+0x89fca
    
    0014ffdc 77cb23e9 ffffffff 77d339e7 00000000 ntdll!__RtlUserThreadStart+0x2b
    
    0014ffec 00000000 03f40670 0020d000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
    0:000>
    

0 个答案:

没有答案