我正在尝试分析一些小型故障转储。我使用的是 Windows 10 Pro Build 1607 和 WinDbg 10.0.14321.1024。我将符号文件路径设置为
SRV*C:\SymCache*https://msdl.microsoft.com/download/symbols
基本上,每当我加载小型转储(所有小于 1 MB 的 .dmp 文件)时,WinDbg 都会花很长时间来实际分析它们。我知道第一次运行可能需要很长时间,但我花了将近 12 个小时才让我输入命令。我认为,由于符号已被缓存,因此重新打开相同的 .dmp 根本不需要很长时间。不是这种情况。它加载完毕,几乎立即进入“加载内核符号”,然后又花了 30 分钟才打印“BugCheck”行。又过了30分钟,我还是无法输入命令。
我的电脑配备 512 GB SSD、8 GB RAM 和 i5-4590。我认为不应该这么慢。
我究竟做错了什么?
最近这类投诉似乎更频繁地发生,我可以在我的电脑上重现它。这不是你的错,而是互联网或微软方面的符号服务器的一些问题。
使用 Wireshark 监控流量并查看磁盘以了解符号缓存的填充方式,我可以说:
- 一次仅下载一个文件。
- 较旧的 WinDbg 版本 (6.2.9200) 也会出现此问题
- HTTP 和 HTTPS 都会出现问题
- 当找到符号时,传输速度非常慢,然后增加。有效传输速率从 11 kb/s 降至 20 kb/s(在可处理 6500 kb/s 的线路上)
- 有相当多的数据包乱序、重复数据包等,特别是在尚未下载文件的“查找阶段”。这样的查找阶段很容易需要 8 分钟。
- 即使文件已存在于磁盘上,也会执行“查找阶段”。
- HTTP 往返时间(请求到响应)为 8 到 9 秒
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)