阅读:3771回复:13
windbg能显示应用层的Call stack 吗
用Windbg调试驱动,当应用层调用DeviceIoControl时,在驱动里断下,可以看到显示的Call Stack是从NT Kernel开始的,假设我想知道这个IoControl是从哪个应用发出的,该怎么看呢?
|
|
|
沙发#
发布于:2007-09-19 09:21
我已经找到答案了,是我没有下载对应的模块符号。谢谢各位的解答。
为啥我找不到“给分”的按钮呢? |
|
|
板凳#
发布于:2007-07-23 12:42
引用第10楼xiaobaihuang于2007-07-22 14:15发表的 : 串口线能用就行。 你要在主机端先打开WinDBG,选择菜单中的“Kernel Debug”,进入等待状态。再启动目标机,进入调试模式。 |
|
|
地板#
发布于:2007-07-23 12:39
引用第9楼ProPlayboy于2007-07-22 02:24发表的 : 呵呵,当然不是啦。 我主要是调试驱动,但是还想看一下是哪个APP调用了我的驱动。 |
|
|
地下室#
发布于:2007-07-22 14:15
用Windbg怎么进行双机调试,那位大侠能给小弟指点一下,能够详细一点好吗
我研究一天还是没连接不上,我用就是串口线连接两台物理的机器。 目标机的操作系统是Windows Server 2003 主机的操作系统是Windows XP 在目标机端所做的操作是: 1)修改boot.ini,debugport设置为com1,baud设置为115200 并在设备管理器中修改com设备的属性 在主机端所做的操作是: 1)安装Windows Server 2003的Symbols,并设置为相应的Symbol Path 疑问: 还需要做什么设置吗? 对串口线有什么特殊的要求吗? |
|
5楼#
发布于:2007-07-22 02:24
晕倒,用Windbg调试APP
|
|
|
6楼#
发布于:2007-07-05 09:40
引用第7楼mpAkenrUI于2007-06-18 11:34发表的 : 回楼上的,还是不对啊. 我在机器B的WINDBG里使用 .breakin 命令后,提示我: ^ Syntax error in '.breakin' |
|
|
7楼#
发布于:2007-06-18 11:34
机器 B 上开WINDBG .reload 一下 然后.breakin 到 机器A 既可。
|
|
8楼#
发布于:2007-06-18 11:11
谢谢楼上的。
我现在是在机器 A 上开WinDbg调试机器 B 上运行的驱动,用上面的方法试了一下,还是不行!能不能再详细点? |
|
|
9楼#
发布于:2007-06-04 17:47
可以的,只要是本地调试。
|
|
|
10楼#
发布于:2007-05-30 08:19
.reload ntdll.dll
.reload kernel32.dll 内核下不会加载用户态的dll的符号文件,所以要自己加载。 |
|
11楼#
发布于:2007-05-30 08:17
kd> kb
ChildEBP RetAddr Args to Child f6ad779c f6f4e454 853f5700 853f3ed8 853f58d0 NDIS!ndisMSendX f6ad77c0 f6f4e4f8 003f580e ffffffff 853f3ed8 tcpip!ARPSendBCast+0x2a8 f6ad77ec f6f4c70a 853f58d0 f6ad7800 00000001 tcpip!ARPTransmit+0x125 f6ad781c f6f5f3de 853dc008 ffffffff 853f3ed8 tcpip!SendIPPacket+0x18e f6ad7850 f6f5a6c1 ffffffff 853f3ed8 852fa020 tcpip!SendDHCPPacket+0x4b f6ad7988 f6f50b83 f6f8a6b4 852fb5d8 852fa020 tcpip!IPTransmit+0x23ef f6ad7a28 f6f5094a 852fc0d0 852fb5d8 852fb618 tcpip!UDPSend+0x41b f6ad7a4c f6f509b0 00ad7a70 852fbce0 852fa060 tcpip!TdiSendDatagram+0xd5 f6ad7a84 f6f4f308 852fb618 852fb6d0 852fbce0 tcpip!UDPSendDatagram+0x4f f6ad7aa0 804edfe3 853f2ba8 852fb618 852fc2a0 tcpip!TCPDispatchInternalDeviceControl+0xf f6ad7ab0 f6ee97f7 f6ad7b9c 00000008 f6ad7b10 nt!IopfCallDriver+0x31 853f8db0 853f2a90 00000012 f6f49000 00057d80 afd!AfdFastDatagramSend+0x2fd WARNING: Frame IP not in any known module. Following frames may be wrong. f6ad7c50 805748d7 852fcc88 00000001 008cf900 0x853f2a90 f6ad7d00 8056d5ba 000001f0 000001e4 00000000 nt!IopXxxControlFile+0x261 f6ad7d34 8053ca28 000001f0 000001e4 00000000 nt!NtDeviceIoControlFile+0x2a f6ad7d34 7c90eb94 000001f0 000001e4 00000000 nt!KiFastCallEntry+0xf8 008cf8b8 7c90d8ef 71a5308a 000001f0 000001e4 ntdll!KiFastSystemCallRet 008cf944 7c9105c8 008cf954 008cfa30 00000103 ntdll!ZwDeviceIoControlFile+0xc 008cf9f0 71ab2cef 000001f0 008cfa30 00000001 ntdll!RtlpFreeToHeapLookaside+0x22 008cfa40 76d83381 000001f0 000aa8a8 00000132 0x71ab2cef kd> |
|
12楼#
发布于:2007-05-30 08:17
kd> !thread
THREAD 852fd440 Cid 0414.04d0 Teb: 7ffd6000 Win32Thread: 00000000 RUNNING on processor 0 Not impersonating DeviceMap e10000e0 Owning Process 85313790 Image: svchost.exe Wait Start TickCount 1246 Ticks: 0 Context Switch Count 10 UserTime 00:00:00.0000 KernelTime 00:00:00.0000 Start Address kernel32!CreateThread (0x7c810659) Win32 Start Address 0x76d85797 Stack Init f6ad8000 Current f6ad7ca0 Base f6ad8000 Limit f6ad5000 Call 0 Priority 9 BasePriority 8 PriorityDecrement 0 DecrementCount 0 ChildEBP RetAddr Args to Child f6ad779c f6f4e454 853f5700 853f3ed8 853f58d0 NDIS!ndisMSendX (FPO: [Non-Fpo]) (CONV: stdcall) f6ad77c0 f6f4e4f8 003f580e ffffffff 853f3ed8 tcpip!ARPSendBCast+0x2a8 (FPO: [Non-Fpo]) (CONV: stdcall) f6ad77ec f6f4c70a 853f58d0 f6ad7800 00000001 tcpip!ARPTransmit+0x125 (FPO: [Non-Fpo]) (CONV: stdcall) f6ad781c f6f5f3de 853dc008 ffffffff 853f3ed8 tcpip!SendIPPacket+0x18e (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7850 f6f5a6c1 ffffffff 853f3ed8 852fa020 tcpip!SendDHCPPacket+0x4b (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7988 f6f50b83 f6f8a6b4 852fb5d8 852fa020 tcpip!IPTransmit+0x23ef (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7a28 f6f5094a 852fc0d0 852fb5d8 852fb618 tcpip!UDPSend+0x41b (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7a4c f6f509b0 00ad7a70 852fbce0 852fa060 tcpip!TdiSendDatagram+0xd5 (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7a84 f6f4f308 852fb618 852fb6d0 852fbce0 tcpip!UDPSendDatagram+0x4f (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7aa0 804edfe3 853f2ba8 852fb618 852fc2a0 tcpip!TCPDispatchInternalDeviceControl+0xff (FPO: [Non-Fpo]) (CONV: stdcall ) f6ad7ab0 f6ee97f7 f6ad7b9c 00000008 f6ad7b10 nt!IopfCallDriver+0x31 (FPO: [0,0,0]) (CONV: fastcall) 853f8db0 853f2a90 00000012 f6f49000 00057d80 afd!AfdFastDatagramSend+0x2fd (FPO: [Non-Fpo]) (CONV: stdcall) WARNING: Frame IP not in any known module. Following frames may be wrong. f6ad7c50 805748d7 852fcc88 00000001 008cf900 0x853f2a90 f6ad7d00 8056d5ba 000001f0 000001e4 00000000 nt!IopXxxControlFile+0x261 (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7d34 8053ca28 000001f0 000001e4 00000000 nt!NtDeviceIoControlFile+0x2a (FPO: [Non-Fpo]) (CONV: stdcall) f6ad7d34 7c90eb94 000001f0 000001e4 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f6ad7d64) 008cf8b8 7c90d8ef 71a5308a 000001f0 000001e4 ntdll!KiFastSystemCallRet (FPO: [0,0,0]) 008cf944 7c9105c8 008cf954 008cfa30 00000103 ntdll!ZwDeviceIoControlFile+0xc (FPO: [10,0,0]) 008cf9f0 71ab2cef 000001f0 008cfa30 00000001 ntdll!RtlpFreeToHeapLookaside+0x22 (FPO: [Non-Fpo]) (CONV: stdcall) 008cfa40 76d83381 000001f0 000aa8a8 00000132 0x71ab2cef 008cfa84 76d87b40 000aa500 00000132 008cff14 0x76d83381 008cff84 7c8025f0 7c802532 000001d0 00000001 0x76d87b40 008cff88 7c802532 000001d0 00000001 00000000 kernel32!WaitForSingleObjectEx+0xb0 7c8025f0 90909090 ffffffff 00000000 7c802610 kernel32!WaitForSingleObject+0x12 7c8025f4 ffffffff 00000000 7c802610 90909090 0x90909090 7c8025f8 00000000 7c802610 90909090 90909090 0xffffffff |
|
13楼#
发布于:2007-05-30 08:12
能!(只要在当前线程上下文)
reload ntdll |
|