WinDbg 的使用配置

本文介绍如何配置WinDbg和DebugDiag工具,包括设置符号搜索路径、环境变量以及使用脚本进行故障排查等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb

 

DebugDiag: Tools-->Options And Settings……
                Symbol Search Path For Analysis
       srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb

WinDbg  : File --> Symbol path
       srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb


环境变量 (cmd set 可以检测到结果)

_NT_SYMBOL_PATH
srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb


挂起:
  脚本:
   cscript f:/wdbgzone/windbg/adplus.vbs -Hang -pn BizServer.exe -o f:/wdbgzone/dumps -quiet
   命令:
   cmd --> 进入windbg 目录 ->  cscript adplus.vbs -Hang -pn BizServer.exe -o 路径(f:/wdbgzone/dumps) -quiet

Crash:
  脚本:
   cscript f:/wdbgzone/windbg/adplus.vbs -Crash -pn BizServer.exe -o f:/wdbgzone/dumps -quiet
   命令:
   cmd --> 进入windbg 目录 ->  cscript adplus.vbs -Crash -pn BizServer.exe -o 路径(f:/wdbgzone/dumps) -

quiet

整体流程:

1、新建文件wdbgzone,安装WinDbg,DebugDiag;新建文件wdbgzone子目录( websymbols 、 PDB、 dumps)设置选项:

DebugDiag: Tools-->Options And Settings……
                Symbol Search Path For Analysis
       srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb

WinDbg  : File --> Symbol path
       srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb

2、设置环境变量 (cmd set 可以检测到结果)

_NT_SYMBOL_PATH
srv*d:/wdbgzone/websymbols*http://msdl.microsoft.com/download/symbols;d:/wdbgzone/pdb

3、获取PDB;

4、运行程序;

5、运行命令。

 

### 配置 WinDbg 调试环境 WinDbg 是一个功能强大的调试工具,适用于内核调试、用户模式调试以及远程调试。以下是几种常见的 WinDbg 调试环境配置方法,涵盖本地调试、远程调试以及通过串口或 USB 的调试设置。 #### 1. 本地调试配置 如果只需要对本地程序进行调试,可以直接使用 WinDbg 启动目标程序,或者将 WinDbg 附加到已经运行的目标进程上。 - **启动目标程序**:在 WinDbg 中选择 `File > Open Executable`,然后选择要调试的可执行文件。 - **附加到进程**:在 WinDbg 中选择 `File > Attach to a Process`,然后从进程列表中选择要调试的进程 [^1]。 #### 2. 内核调试环境配置(VMware + WinDbg) 在 VMware 中配置 WinDbg 进行 Windows 内核调试时,需要在调试机上设置 WinDbg 的启动参数,并在虚拟机中启用调试支持。 - **调试机配置**:右键 WinDbg 快捷方式,选择“属性”,在“目标”字段中添加以下内容以配置符号路径和串口连接: ``` -y SRV*D:\symbols*http://msdl.microsoft.com/download/symbols -b -k com:port=//./pipe/com_1,baud=115200,pipe ``` 其中 `-y` 指定了符号文件的缓存路径和远程符号服务器地址,`-k` 指定了串口连接方式,使用命名管道 `com_1`,波特率为 115200 [^2]。 - **虚拟机配置**:在 VMware 的虚拟机设置中,添加一个串口设备,并将其连接到命名管道 `\\.\pipe\com_1`,确保调试机和虚拟机使用相同的管道名称。 - **靶机配置**:在靶机上启用调试功能,可以通过以下命令启用调试支持: ```cmd bcdedit /debug on ``` #### 3. 远程调试配置(TCP) WinDbg 支持通过 TCP 协议进行远程调试,适用于调试运行在远程主机上的应用程序。 - **启动调试服务器**:在调试服务器端运行以下命令启动调试服务器: ``` .server tcp:port=18888,password=abcc ``` 该命令会在端口 18888 上启动一个调试服务器,并设置连接密码为 `abcc` [^3]。 - **客户端连接**:在调试客户端使用以下命令连接到调试服务器: ``` windbg -remote tcp:Port=18888,Server=192.168.2.10 ``` #### 4. USB 调试配置WinDbg + USB 调试线) 如果使用 USB 调试线连接调试机和靶机,需要在靶机上进行一些额外的配置。 - **禁用 Secure Boot**:在靶机的 BIOS 设置中禁用 Secure Boot 功能。 - **连接 USB 调试线**:使用 USB 3.0 调试线连接调试机和靶机,并确保在靶机上识别到 USB 设备。 - **配置调试设置**:在靶机上运行以下命令以启用 USB 调试: ```cmd bcdedit /debug on bcdedit /dbgsettings usb targetname:test1 bcdedit /set "{dbgsettings}" busparams b.d.f ``` 其中 `b.d.f` 是通过 `usbview` 工具获取的总线、设备和功能号 [^4]。 #### 5. 符号文件配置 符号文件对于调试非常重要,可以帮助识别函数名、变量名等信息。可以通过以下命令配置符号路径: ```cmd .sympath SRV*D:\symbols*http://msdl.microsoft.com/download/symbols ``` 此命令将符号文件缓存到本地路径 `D:\symbols`,并从 Microsoft 的符号服务器下载所需的符号文件。 #### 6. 虚函数表调试技巧 在调试 C++ 程序时,可以使用 `x` 和 `dds` 命令来查看虚函数表中的函数地址。 - **查找虚函数表地址**: ```cmd x ole32!OpaqueDataInfo::vftable' ``` - **查看虚函数表内容**: ```cmd dds 7768265c ``` 其中 `7768265c` 是从上一步获取的虚函数表地址 [^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值