linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
阅读:3771回复:13

windbg能显示应用层的Call stack 吗

楼主#
更多 发布于:2007-05-25 10:19
用Windbg调试驱动,当应用层调用DeviceIoControl时,在驱动里断下,可以看到显示的Call Stack是从NT Kernel开始的,假设我想知道这个IoControl是从哪个应用发出的,该怎么看呢?
这件事很难
linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-19 09:21
我已经找到答案了,是我没有下载对应的模块符号。谢谢各位的解答。
为啥我找不到“给分”的按钮呢?
这件事很难
linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-23 12:42
引用第10楼xiaobaihuang于2007-07-22 14:15发表的  :
用Windbg怎么进行双机调试,那位大侠能给小弟指点一下,能够详细一点好吗
我研究一天还是没连接不上,我用就是串口线连接两台物理的机器。
目标机的操作系统是Windows Server 2003
主机的操作系统是Windows XP
在目标机端所做的操作是:
.......


串口线能用就行。
你要在主机端先打开WinDBG,选择菜单中的“Kernel Debug”,进入等待状态。再启动目标机,进入调试模式。
这件事很难
linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-23 12:39
引用第9楼ProPlayboy于2007-07-22 02:24发表的  :
晕倒,用Windbg调试APP


呵呵,当然不是啦。
我主要是调试驱动,但是还想看一下是哪个APP调用了我的驱动。
这件事很难
xiaobaihuang
驱动牛犊
驱动牛犊
  • 注册日期2006-10-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望18点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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
疑问:
还需要做什么设置吗?
对串口线有什么特殊的要求吗?
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2022-02-15
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2007-07-22 02:24
晕倒,用Windbg调试APP
人不靓仔心灵美,版头不正红花仔!
linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-05 09:40
引用第7楼mpAkenrUI于2007-06-18 11:34发表的  :
机器 B 上开WINDBG .reload 一下  然后.breakin 到 机器A 既可。



回楼上的,还是不对啊.
我在机器B的WINDBG里使用 .breakin 命令后,提示我:  ^ Syntax error in '.breakin'
这件事很难
mpAkenrUI
驱动牛犊
驱动牛犊
  • 注册日期2004-06-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-06-18 11:34
机器 B 上开WINDBG .reload 一下  然后.breakin 到 机器A 既可。
linfeng1216
驱动小牛
驱动小牛
  • 注册日期2004-03-10
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分818分
  • 威望89点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-06-18 11:11
谢谢楼上的。
我现在是在机器 A 上开WinDbg调试机器 B 上运行的驱动,用上面的方法试了一下,还是不行!能不能再详细点?
这件事很难
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2022-02-15
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2007-06-04 17:47
可以的,只要是本地调试。
人不靓仔心灵美,版头不正红花仔!
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-05-30 08:19
.reload ntdll.dll
.reload kernel32.dll

内核下不会加载用户态的dll的符号文件,所以要自己加载。
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
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>
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
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
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-05-30 08:12
能!(只要在当前线程上下文)
reload ntdll
游客

返回顶部