-
Win7系统中使用WinDbg与虚拟机调试驱动程序的操作方法和要点(12)
- 作者:宋惜瑶 分类:win7 发布时间:2017-10-12 21:37:56
Y N Y N 用户模式调试 Y Y Y 非托管调试 Y Y Y Y 托管调试 Y Y Y 远程调试 Y Y Y Y 附加到进程 Y Y Y Y 从进程分离 Y Y Y Y SQL调试 N N N Y WinDbg WinDbg实际上包装了NTSD和...
Y
N
Y
N
用户模式调试
Y
Y
Y
非托管调试
Y
Y
Y
Y
托管调试
Y
Y
Y
远程调试
Y
Y
Y
Y
附加到进程
Y
Y
Y
Y
从进程分离
Y
Y
Y
Y
SQL调试
N
N
N
Y
WinDbg
WinDbg实际上包装了NTSD和KD并且提供了一个更好用的用户界面。它也提供了命令行开关,比如最小化启动(-m),附加到一PID指定的进程(-p)以及自动打开崩溃文件(-z)。它支持三种类型的命令。
· Regular commands(比如: k) 用来调试进程
· Dot commands(比如:.sympath)用来控制调试器
· Extension commands(比如: !handle)-这些命令属于可以用来添加到WinDbg的自定义命令;它们用扩展DLL的输出函数来实现。
PDB文件
PDB文件指的是链接器生成程序数据库文件(Program database files)。私有的PDB文件包括私有以及公有符号,源代码行号,类型,局部以及全局变量。公有的PDB文件不包含类型,局部变量以及源代码行号信息。
WinDbg入门教程(2)-各种调试场景介绍
2008-10-08 09:26调试场景
远程调试
使用WinDbg进行远程调试是很容易的,而且有很多种可行的方法。在下文中,’调试服务器’指的是运行在你所要调试的远程机器上的调试器。’调试客户端’指的是控制当前会话的调试器。
· 使用调试器:你需要CDB, NTSD或者WinDbg已经安装在远程机器上。WinDbg客户端可以连接到CDB, NTSD或者WinDbg中的任何一个作为服务器,反之亦然。在客户端和服务器直接可以选择TCP或者命名管道作为通讯协议。
o 在服务器端的启动过程:
§ WinDbg –server npipe:pipe=pipename(注:可以允许多个客户端连或
§ 从WinDbg内部: .server npipe:pipe=pipename(注,连接单个客户端)
你可以用多种协议开启不同的服务会话。并且可用密码来保护一个会话。
o 从客户端连接:
§ WinDbg -remote npipe:server=Server, pipe=PipeName[,password=Password]
§ 从WinDbg内部: File-》Connect to Remote Session: for connection string, enter npipe:server=Server, pipe=PipeName [,password=Password]
· 使用Remote.exe: Remote.exe使用命名管道作为通讯的方式。如果你使用的是一个命令行接口的程序,比如KD,CDB或者NTSD。你可以使用remote.exe来远程调试。注意:使用@q(不是q)来退出客户端,不用关掉服务端。
o 要启动一个服务端:
§ Remote.exe /s “cdp –p 《pid》” test1
o 从客户端连接:
§ Remote.exe /c 《machinename》 test1
上面的test1是我们所选择的命名管道的名字。
服务端会显示那个客户端从那个服务器连接以及执行过的命令。你可以使用‘qq’命令来退出服务端;或者使用File-》Exit来退出客户端。另外,如果要进行远程调试,你必须属于远程机器的”Debugger User”组并且服务器必须允许远程连接。
即时调试
在WinDbg的文档的”Enabling Postmorten Debugging”部分对此有很详细的讨论。简而言之,你可以把WinDbg设置成默认的即时调试器,命令就是:Windbg –I。这个命令实际上是把注册表中 HKLM/Software/Microsoft/Windows NT/CurrentVersion/AeDebug的键值设置成WinDbg。如果要把WinDbg设置成为默认的托管调试器,你需要显示设置如下的注册表键值:
HKLM/Software/Microsoft/.NETFramework/DbgJITDebugLaunchSetting 设置成 2
HKLM/Software/Microsoft/.NETFramework/DbgManagedDebugger 设置成Windbg.(注意其中的启动参数设置)
通过JIT的设置,当一个应用程序在不是调试的状态下抛出了未处理的异常之时,WinDbg就会被启动。
猜您喜欢
- Win7笔记本小技巧:如何关闭触摸板,..2024-04-30
- win7安全证书过期,如何轻松解决?快..2024-04-30
- Win7本本无线网络不显示?这5招轻松解..2024-04-29
- windows7开机密码遗忘?别急,教你轻松..2024-04-29
- Win7电脑锁屏壁纸轻松换,让你的Wind..2024-04-29
- win7电脑开机无法进入桌面?看这里,..2024-04-29
相关推荐
- Win7浏览器老是自动弹出网页怎么处理..2021-04-08
- 啥叫待机状态_电脑设备待机是什么意..2021-07-07
- Win7系统提示权限不足,共享文件访问..2024-02-07
- pp助手安装app旧版本根本安装不了 sa..2022-04-18
- Win7系统下文件夹无法拖动?这些方法..2024-01-23
- win7蓝屏怎么分析dmp文件 win7蓝屏dmp文件..2022-05-01