关于新版WINDBG(2023版,非预览版)下载不了符号表的问题分析和解决

        最近想在WIN11上动态分析一个程序,所以就安装了最新的WINDBG,安装过程比较曲折,在使用过程中发现WINDBG不能下载符号表,因为这个问题有了以下的一些尝试和解决方法,现提供给大家。

        2023年新版的Windbg是在微软提供的以下链接中下载,之前的WIN10/11预览版已不再更新,所以我还是决定下载最新版https://learn.microsoft.com/zh-CN/windows-hardware/drivers/debugger/而问题就处在这个最新版上,下载后会有一个windbg的安装包,文件后缀是appinstaller结尾。

注意:这里有个很大的坑,你点击下载时,可以看到的页面和我不同,之后会说,请看下去。

运行安装后提示"无法打开此应用包"-"解析应用包时出错",如下图:

这时貌似无法安装下去了,所以我们只能搜索下网络上相关的例子,结果我找到下面的解决方法。

https://www.yycoding.xyz/post/2023/5/11/how-to-scientifically-install-the-latest-version-of-windbg

简单说一下,其实上面的appinstaller格式文件其实是一个XML文件,用记事本打开之后是类似这样的。

        如果你直接下载这个安装包是可以下载的,并且可以很快的安装,记住是很快的安装好,但是当你心心念念的加载调试程序时,一个符号表也不能下载。

        那么我就说说解决方法吧,其实刚刚那个链接中已经说了需要挂代理下载这个安装包,但是我现在要说说文章最开始时的那个坑,你们点击下载时,是不是会显示如下页面:

这个页面有些朋友可能看不到,因为挂的代理是pac的,所以看不到,但是下载安装时,还是会提示解析失败,而这个网址,显然是DNS污染的结果,询问bing也提示是虚假域名,而我们之前不挂代理下载的那个提取出来的安装包也是假的,所以安装很快,而且根本不能加载符号表,如这样安装的朋友建议杀毒并检查自己的系统。

·        综上所述,我的解决方法就是开全局代理,在点击下载按钮,下载windbg的安装包(请看第一张图) 之前就开启全局代理。之后安装、调试、加载符号表会非常顺畅,符号表路径甚至都不用设置。(PS:如遇到不能加载,请使用命令.reload /f,然后就可以看到新版windbg左下方的状态栏在下载符号表了)顺便说一句,windbg自动下载符号表,也是需要代理的,可以把"msdl.microsoft.com"符号表域名加载到代理软件中,就可以不用全局代理了。无图无真相,请看下方加载符号表成功的图片。

PS:后记,在某些WIN11电脑上可能还是不行,如果还是遇到appinstaller解析失败,请用之前的解析xml的方法解决即可,别忘了挂全局代理:https://www.yycoding.xyz/post/2023/5/11/how-to-scientifically-install-the-latest-version-of-windbg

### 回答1: Windbg 是一种在 Windows 操作系统下进行调试的工具,可以帮助开发人员识别并解决程序中的错误。由于 Windows 使用符号表(Symbol tables)来存储可执行文件和模块文件中的符号名称和地址信息,所以为了更准确地调试程序,我们需要下载符号表Windbg 自带了一个命令行程序名为 SymChk,它可以搜索符号服务器以获取可执行文件和程序库的符号表。下面是下载符号表的步骤: 1. 打开 Windbg。 2. 在 Windbg 中打开需要调试的程序。此时,Windbg 可能会提示无法加载符号文件。 3. 在 Windbg 的命令行界面中,输入以下命令: .sympath SRV*c:\symbols*http://msdl.microsoft.com/download/symbols 其中,c:\symbols 是本地符号目录,通常情况下是新建一个空文件夹作为符号目录;http://msdl.microsoft.com/download/symbols 是微软的符号服务器地址。 4. 输入以下命令以开始下载符号表: .symfix c:\symbols 这个命令是告诉 Windbg 将符号文件存储到指定的符号目录。 5. 最后,在 Windbg 的命令行中输入命令: .reload /f 这个命令告诉 Windbg 重新加载程序和所有的符号表文件。 完成上述步骤之后,Windbg 就可以正确地显示程序的符号信息了。需要注意的是,如果程序使用的是自定义的符号文件而不是 Microsoft 的符号文件,则需要将符号文件添加到符号路径中。 ### 回答2: Windbg是Microsoft Windows操作系统上一种强大的调试工具,能够帮助开发者/程序员追踪和解决程序在运行时出现的各种问题。在进行Windbg调试的过程中,符号表显得尤为重要。符号表是一种包含源代码、二进制代码和调试信息的文件,它可以帮助调试器将二进制代码映射到源代码的行数和函数名上。 在Windbg下载符号表有以下几个步骤: 第一步:打开Windbg,按"F12"键打开"命令"窗口。 第二步:在"命令"窗口中输入下列命令之一,以下载目标文件的符号表: - .symfix c:\symbols:将符号表下载到c盘上的symbols文件夹中。 - .sympath+ C:\path_to_your_symbols:在已有的符号路径中添加一个路径。 - .symproxy (proxy server):(port):在符号路径前面添加代理。 第三步:输入"!sym noisy"命令可以打开符号下载的详细输出,并且确认符号表下载正在进行。 第四步:下载完成后,在Windbg的左部窗口"Modules"中选择想要观察的模块,右键点击该模块,在弹出的菜单中选择"Symbol Load Information",即可查看符号加载的情况。 通过以上步骤,我们可以轻松下载符号表,并且在调试程序时得到更准确和详细的调试信息,从而更好地定位和解决程序的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫鸣@蝶舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值