zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
20楼#
发布于:2007-07-18 15:30
windbg打开dump文件的时候,首先要安装对系统符号表,不然无法分析.安装好系统符号表,再贴上几个不同的结果来.
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2007-07-18 17:07
符号表我已经安装了,就是从微软网站上下载的符号表安装包,一共安装以下几个符号表安装包:
Windows_2000_RTM_Symbols.exe
SP1SYM.exe
sp2sym.exe
sp2srp1sym_cn.exe
w2ksp3sym_cn.exe
w2ksp4sym_cn.exe
Windows2000-KB891861-x86-Symbols-CHS.EXE
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
22楼#
发布于:2007-07-18 18:00
没有注意看,你贴了两组,只看到第二组了.第一组的b机器的dump信息比较多.但看上去还是有些问题,好象符号不完全对,你在symbol path设置一下srv*c:\windows\symbols*http://msdl.microsoft.com/download/symbols,不用装符号,连网,让windbg 自己到ms的网站上下symbols,肯定是对的.再把b机器的结果贴上来
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2007-07-19 08:52
先多谢zhaock的答复,下面是我按照你说的方法,设置了symbol path为srv*c:\windows\symbols*http://msdl.microsoft.com/download/symbols后,!analyze -v的分析结果:


Microsoft (R) Windows Debugger  Version 6.6.0007.5
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\WINNT\MEMORY.DMP]
Kernel Complete Dump File: Full address space is available

************************************************************
WARNING: Dump file has been truncated.  Data may be missing.
************************************************************
Symbol search path is: SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 2000 Kernel Version 2195 (Service Pack 4) UP Free x86 compatible
Product: Server
Kernel base = 0x80400000 PsLoadedModuleList = 0x80481580
Debug session time: Wed Jul 18 18:05:24.140 2007 (GMT+8)
System Uptime: 0 days 0:06:33.890
Loading Kernel Symbols
.......................................................................................................................
Loading User Symbols
.......................................................................................
Loading unloaded module list
.............
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 7F, {0, 0, 0, 0}

Probably caused by : win32k.sys ( win32k!UMPDDrvDitherColor+7b )

Followup: MachineOwner
---------

kd> .reload
Loading Kernel Symbols
.......................................................................................................................
Loading User Symbols
.......................................................................................
Loading unloaded module list
.............
kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault).  The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
        use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
        use .trap on that value
Else
        .trap on the appropriate frame will show where the trap was taken
        (on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 00000000, EXCEPTION_DIVIDED_BY_ZERO
Arg2: 00000000
Arg3: 00000000
Arg4: 00000000

Debugging Details:
------------------


BUGCHECK_STR:  0x7f_0

TRAP_FRAME:  f334ef10 -- (.trap fffffffff334ef10)
ErrCode = 00000000
eax=ffffffff ebx=00000000 ecx=00000000 edx=00000000 esi=00000000 edi=00000020
eip=a01355e4 esp=f334ef84 ebp=f334f064 iopl=0         nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
win32k!UMPDDrvDitherColor+0x7b:
a01355e4 f7f6            div     eax,esi
Resetting default scope

DEFAULT_BUCKET_ID:  INTEL_CPU_MICROCODE_ZERO

PROCESS_NAME:  spoolsv.exe

LAST_CONTROL_TRANSFER:  from 804c483d to 8042a86d

STACK_TEXT:  
f334eea4 804c483d 0000007f 00000020 00000000 nt!KeBugCheck+0xf
f334ef04 80465ca5 f334ef10 f334f2b4 f334ef70 nt!Ki386CheckDivideByZeroTrap+0x3f
f334ef04 a01355e4 f334ef10 f334f2b4 f334ef70 nt!KiTrap00+0x6d
f334f064 a00243c6 e4a27008 00000002 002b59ff win32k!UMPDDrvDitherColor+0x7b
f334f0f0 a00641fa 00000000 e491c424 a0064715 win32k!bGetRealizedBrush+0x293
f334f104 a0011316 e491c424 00000000 00000000 win32k!pvGetEngRbrush+0x1a
f334f160 a00fdf0e e4a27008 00000000 00000000 win32k!EngBitBlt+0x18f
f334f280 80465024 e491d2b8 00000000 00000000 win32k!NtGdiEngBitBlt+0x35b
f334f280 77f72477 e491d2b8 00000000 00000000 nt!KiSystemService+0xc4
0148e5b4 77f672f9 01510000 00000000 00000000 GDI32!NtGdiEngBitBlt+0xb
0148e5fc 77e218db 0148ee60 0148e618 00000004 GDI32!GdiPrinterThunk+0x259
0148ee50 77f91baf 0148ee60 0000003c 0000003c USER32!__ClientPrinterThunk+0x2d
0148ee50 80431398 0148ee60 0000003c 0000003c ntdll!KiUserCallbackDispatcher+0x13
f334f574 8042f520 f334f608 f334f600 f334f830 nt!KiCallUserMode+0x4
f334f5d8 a0092d29 0000005a f334f708 0000003c nt!KeUserModeCallback+0xa6
f334f624 a0092dec 0000005a f334f708 0000003c win32k!pppUserModeCallback+0x3f
f334f63c a0136330 f334f708 0000003c f334f744 win32k!ClientPrinterThunk+0x40
f334f748 a00d1e06 e491d2b8 00000000 00000000 win32k!UMPDDrvBitBlt+0x160
f334f788 a00c1ccb e491d2b8 f334f82c e491c424 win32k!EngPaint+0x61
f334f8f8 a003f13d e491d2b8 f334fa70 f334f97c win32k!EngFillPath+0x1a9
f334f948 a003edbe 60008430 f334fa44 e491d2a8 win32k!EPATHOBJ::bSimpleFill+0x1a4
f334fa50 a003f247 00000d0d e491c070 f334fc88 win32k!EPATHOBJ::bStrokeAndOrFill+0x3d0
f334fc98 a0026fda 03210348 f334fcd0 f334fd2c win32k!GrePolyPolygonInternal+0xd0
f334fd48 80465024 03210348 0148eee0 0148eed0 win32k!NtGdiPolyPolyDraw+0x204
f334fd48 77f72105 03210348 0148eee0 0148eed0 nt!KiSystemService+0xc4
0148eec0 77f6e7c2 03210348 0148eee0 00000005 GDI32!NtGdiPolyPolyDraw+0xb
0148f2e4 77f690be 03210348 000c5750 00000004 GDI32!MRBP16::bPlay+0xa7
0148f360 77f68e90 03210348 000c5750 019927a8 GDI32!PlayEnhMetaFileRecord+0x37
0148f3d8 77f687cb 03210348 00002788 00000000 GDI32!bInternalPlayEMF+0x688
0148f3f0 77f64d98 03210348 0a460345 000beb68 GDI32!PlayEnhMetaFile+0x33
0148f490 77f64ffe 000c4f38 00000000 00000000 GDI32!InternalGdiPlayPageEMF+0x228
0148f4f8 786d309b 000c4f38 00000000 000c4f74 GDI32!GdiEndPageEMF+0xcd
0148f530 786d3201 000c4f38 03210348 00000001 localspl!PrintOneSideForwardEMF+0x13b
0148f574 786d3a45 000c4f38 00000001 00000001 localspl!PrintForwardEMF+0xa6
0148f5ac 786d411e 000c4f38 03210348 00000000 localspl!PrintEMFSingleCopy+0xd9
0148f6e8 786d2032 00cbe680 0148f710 786c1aac localspl!PrintEMFJob+0x518
0148f6f4 786c1aac 00cbe680 0148f710 00cb6de8 localspl!PrintDocumentOnPrintProcessor+0x3a
0148fd68 786c15cb 00000000 0148ff94 00000010 localspl!PrintDocumentThruPrintProcessor+0x19f
0148ffb4 77e6b3bc 00000000 00000010 0113fc50 localspl!PortThread+0x24a
0148ffec 00000000 786c137f 00cb6de8 00000000 KERNEL32!BaseThreadStart+0x52


STACK_COMMAND:  kb

FOLLOWUP_IP:
win32k!UMPDDrvDitherColor+7b
a01355e4 f7f6            div     eax,esi

SYMBOL_STACK_INDEX:  3

SYMBOL_NAME:  win32k!UMPDDrvDitherColor+7b

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: win32k

IMAGE_NAME:  win32k.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  45ed063d

FAILURE_BUCKET_ID:  0x7f_0_win32k!UMPDDrvDitherColor+7b

BUCKET_ID:  0x7f_0_win32k!UMPDDrvDitherColor+7b

Followup: MachineOwner
---------
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2007-07-19 10:37
我继续测试了机器,发现:
**在安装windows2000+SP4没有使用windows在线更新的机器上,可以正常打印;不会蓝屏;
 当我使用windows的在线更新,将windows2000的所有更新安装后,使用虚拟打印机打印的时候就会蓝屏。
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2007-07-19 16:32
最新发现,卸载掉KB925902就不会蓝屏了,这是什么原因啊;驱动程序到底那里有问题啊?
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2007-07-19 23:05
最新调试和测试结果,这个打印驱动蓝屏问题原来windows的KB925902补丁有关;只要升级一下windows的KB935843补丁就不会蓝屏了;但是又出现了新的问题:

升级KB935843补丁前,打印黑白图象时候所产生的抖动效果没有了;可以比较打印测试前后的效果对比:
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2007-07-24 11:05
难得没有人能回答我嘛?自己再顶一下。
gosoft
驱动牛犊
驱动牛犊
  • 注册日期2003-03-02
  • 最后登录2007-07-30
  • 粉丝1
  • 关注0
  • 积分230分
  • 威望25点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2007-07-30 14:11
已经解决了,是DEVINFO结构参数设置不对,cxDither cyDither成员不能为0,赋值为16即可;

还是要多谢各位同仁的热心回答。
上一页 下一页
游客

返回顶部