捉虫笔记(1)之 WinDbg符号配置

WinDbg符号配置

1、WinDbg简单介绍

WinDbg 是微软的一款强大的调试工具,用于 Windows 平台的内核和用户模式调试。它提供了一系列强大的功能,包括内存和寄存器的查看、断点设置、堆栈跟踪、性能分析等。

WinDbg 的历史可以追溯到微软早期的调试工具,最初是作为 Windows NT 调试程序的一部分开发的。而Window NT是从1988~1993历经五年时间,由Dave Cutler领导并开发。

而WinDbg是我最喜欢的调试器,在我的职业生涯曾多次遇到各种妖怪问题,无一不是凭借这把调试之剑劈开一条生路。

至于安装直接Google上搜索WinDbg即可找到下载连接。

2、符号的重要性

在调试过程中,符号就像海上的灯塔一样指引着方向。其重要性怎么强调都不为过。这我放两张截图看下区别就一目了然。

这一张是没有配置pdb符号
在这里插入图片描述

下面这一张是配置了符号:
在这里插入图片描述

3、如何配置符号

1、从GUI配置符号

点击菜单栏的文件–> settings -->Debugging settings 既可看到Symbol path配置符号的输入框。
在这里插入图片描述

2、从命令配置

1、打开WinDbg,此时还没有进入调试的状态。可以先打开windows记事本进程。

2、点击菜单栏的“文件”

3、点击“Attach to process”,会弹出一个对话框,附加到之前打开的记事本。
在这里插入图片描述

4、在输入框输入.sympath srv*F:\symbols*http://msdl.microsoft.com/download/symbols

这里解释下上面的含义:其含义表示从远程地址下载pdf符号,放到F:\symbols。

如果你要下载的自己远程服务器的符号也是类似的格式srv*本地磁盘路径*https://xxxxx
在这里插入图片描述

在实际项目中,我们可能需要加载多个符号路径。

.sympath+ F:\python\pdb_files

比如我这里,增加了python的符号路径
在这里插入图片描述

4、如何排查符号配置问题

1、如何知道自己配置了那些符号路径?

在WinDbg 命令行输入:.sympath再回车。

如:
在这里插入图片描述

2、如何判断是否加载了pdb符号?

在WinDbg 命令行输入:lm再回车。lm 是list module 缩写。

这里我们看到python_d 已经加载符号了。

在这里会看到deferred表示符号延迟加载,待需要时在加载。

在这里插入图片描述

2、有时候发现windows自带的符号文件好像没有下载。

!sym noise 命令可以详细查看符号的下载过程以及出错的信息。

在配置符号路径有时候需要执行.reload重新加载下符号。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值