阅读:1245回复:6
這個code 在2k下某台特定的PC會BSOD
MODULE_NAME: mysys
FAULTING_MODULE: 80400000 nt DEBUG_FLR_IMAGE_TIMESTAMP: 47871bbd EXCEPTION_RECORD: ae2a28e4 -- (.exr ffffffffae2a28e4) ExceptionAddress: eb3210b4 (mysys!DumpModePages+0x00000018) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000000 Parameter[1]: 00000008 Attempt to read from address 00000008 CONTEXT: ae2a253c -- (.cxr ffffffffae2a253c) eax=00000008 ebx=00000018 ecx=00000008 edx=00000018 esi=00000009 edi=00000000 eip=eb3210b4 esp=ae2a29ac ebp=ae2a29e8 iopl=0 nv up ei pl nz na po nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010202 mysys!DumpModePages+0x18: eb3210b4 8a11 mov dl,byte ptr [ecx] ds:0023:00000008=?? Resetting default scope DEFAULT_BUCKET_ID: WRONG_SYMBOLS BUGCHECK_STR: 0x26 LAST_CONTROL_TRANSFER: from eb3213e2 to eb3210b4 STACK_TEXT: ae2a29b0 eb3213e2 00000008 00000018 85542020 mysys!DumpModePages+0x18 [d:\mssys\filemon.c @ 623] ae2a29e8 8041eecb 01000000 5ae5d3c8 84e5d508 mysys!FilterDeviceControl+0x174 [d:\mssys\filemon.c @ 546] WARNING: Stack unwind information not available. Following frames may be wrong. ae2a2a78 eb333065 855429b0 84e5d3c8 84e5d3c8 nt!IoBuildSynchronousFsdRequest+0x8f ae2a2b04 eb04216e 855429b0 84e5d301 855429b0 cdrom+0x3065 00000000 00000000 00000000 00000000 00000000 CLASSPNP!ClassFindModePage+0xc8 FOLLOWUP_IP: mysys!DumpModePages+18 [d:\mysys\filemon.c @ 623] eb3210b4 8a11 mov dl,byte ptr [ecx] FAULTING_SOURCE_CODE: > 623: if( strlen(pages) < 2 || !pages[1]) 624: break ; 根據測試只要檢查到 pages[1] 就會死掉 如果說 pages[1] 是NULL 或不存在的位址那麼應該所有的PC都會有此現象 可是我嘗試在其他的機器去測試 pages[x] 超乎 pages的大小 每台機器都沒問題 就只有那台會............ 該如何避開這個錯誤阿...怎麼只是簡單的檢查 pages[1] 就掛了... 拜託~給個意見吧... |
|
沙发#
发布于:2008-01-22 22:29
先看你的 pages 是不是飞了?
|
|
|
板凳#
发布于:2008-01-22 22:40
要怎麼知道是不是 "飛了"
我處理前有先 if(pages ) { // my job... } 這樣對那台還是無效,且是那台也不是隨機產生BSOD 而是只要開啟 VMWare6 ,在啟動虛擬作業系統的要進去windowsXp瞬間時才會 同樣的OS 與 同樣的VMWare 在別台卻都不會.... 客戶的PC,實在不方便去調機器來測試..有什麼好的建議嗎... |
|
地板#
发布于:2008-01-23 21:22
有人可以給個建議嗎~
|
|
地下室#
发布于:2008-01-24 17:05
努力往上推...真的沒輒了....
|
|
5楼#
发布于:2008-01-24 20:44
看看出现问题的机器与其他没有问题的机器的配置和应用有哪些不同。可能与其他软件冲突或者系统的patch不同造成。找到差异,再找问题。
|
|
|
6楼#
发布于:2008-02-02 16:21
probeforread first~
and check irql at all begin if >=dispatch_level check mmisaddressvalid if <dpc do lock or probeforread before any op on mem if u do lock after op need unlock it |
|
|