Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Windows安全模式是神奇的?_Windows_Heap - Fatal编程技术网

为什么Windows安全模式是神奇的?

为什么Windows安全模式是神奇的?,windows,heap,Windows,Heap,各位 我为一家医疗机构提供IT方面的帮助。事实证明,EMR软件中有一个漏洞,偶尔会出现一次。(当前所有计算机都在Windows 10上运行) 程序死机,我得到弹出窗口“一个问题导致程序停止工作…” 我连接了一个调试器。根据堆栈跟踪,它们的代码中似乎存在堆问题。我打开GFlags,它每次都会点击。我告诉EMR软件人员,但他们不喜欢声称存在bug,并想证明不是他们 他们启动计算机到安全模式与网络和低,看不出有堆的问题,所以他们说他们摆脱了困境。不是他们 我已经在所有机器(32位和64位)上重现了这个

各位

我为一家医疗机构提供IT方面的帮助。事实证明,EMR软件中有一个漏洞,偶尔会出现一次。(当前所有计算机都在Windows 10上运行)

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

我连接了一个调试器。根据堆栈跟踪,它们的代码中似乎存在堆问题。我打开GFlags,它每次都会点击。我告诉EMR软件人员,但他们不喜欢声称存在bug,并想证明不是他们

他们启动计算机到安全模式与网络和低,看不出有堆的问题,所以他们说他们摆脱了困境。不是他们

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

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

gflags /p /enable emrprogram.exe /full

cdb -g -x emrname.exe
问题:

  • 安全模式如何使堆bug消失

  • 关于在安全模式下复制bug的任何建议,例如,在安全模式下到底发生了什么,我可以让它更像正常模式吗

  • 另外,这里是堆栈跟踪:

    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>
    

    解释安全模式的不同之处。请注意关于一组有限的驱动程序(其中还包括一个基本的视频驱动程序)的部分。这意味着大大减少了内存负载,这意味着与驱动程序和内存问题相关的问题可以消失。不,你不能让安全模式更像正常模式——这与安全模式存在的全部目的背道而驰。话虽如此,这个网站是为调试你的代码相关的问题,而不是一些第三方可执行文件。问问你的妻子,当病人对他们的症状含糊不清时,她会怎么做。我想你的妻子可以和你分享很多在她做更多事情之前得到澄清的例子。能帮助你的人和你妻子一样都是诊断专家。像“调试器”、“堆问题”和“打开GFlags”这样的东西是模糊的。要直接回答您的问题“安全模式如何使堆缺陷消失”,可能需要更多的信息。这一点很好。(还有一个很好的类比。)关于调试器,我指的是cdb.exe。关于GFlags,我运行了“GFlags/p enable emrprogram.exe/full“关于堆问题,我将在上面的原始问题中为您提供堆栈跟踪。谢谢,H先生解释了安全模式的不同之处。请注意关于一组有限的驱动程序(其中还包括一个基本的视频驱动程序)的部分。这意味着大大减少了内存负载,这意味着与驱动程序和内存问题相关的问题可以消失。不,你不能让安全模式更像正常模式——这与安全模式存在的全部目的背道而驰。话虽如此,这个网站是为调试你的代码相关的问题,而不是一些第三方可执行文件。问问你的妻子,当病人对他们的症状含糊不清时,她会怎么做。我想你的妻子可以和你分享很多在她做更多事情之前得到澄清的例子。能帮助你的人和你妻子一样都是诊断专家。像“调试器”、“堆问题”和“打开GFlags”这样的东西是模糊的。要直接回答您的问题“安全模式如何使堆缺陷消失”,可能需要更多的信息。这一点很好。(还有一个很好的类比。)关于调试器,我指的是cdb.exe。关于GFlags,我运行了“GFlags/p enable emrprogram.exe/full“关于堆问题,我将在上面的原始问题中为您提供堆栈跟踪。谢谢,H先生