windbg - 如何摆脱与符号文件相关的警告/错误消息

标签 windbg symbols dump pykd

我正在使用 Windbg 调试转储文件,并且经常收到警告/错误消息,如下所示:

*** WARNING: Unable to verify checksum for icuuc58.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for icuuc58.dll - 

为了避免这些问题,我已经尝试使用以下方法进行整个处理:

!sym prompts off
!sym quiet

但是警告/错误消息不断出现。

第一次回复后编辑(在第二次编辑中确认)

我使用 .outmask-6.outmask-206 进行了多次尝试,但都或多或少失败了。这意味着什么:

.reload -f => a lot of error/warning messages                      => normal behaviour

.outmask-6 or .outmask-206
.reload -f => no error/warning messages                            => Ok

.outmask-6 or .outmask-206
.reload -f => no error/warning messages                            => Ok
<execution of the whole script> => a lot of error/warning messages => NOK

我相信有一些命令可以禁用 .outmask 命令。您能否确认这一点,如果是的话,是否有类似以下的命令:

.outmask-206(global) (which applies for the whole Windbg session)

symsrv.ini 文件而言:我的计算机上没有这个文件,老实说,我不想搜索符号加载可能导致问题的每个模块。我宁愿避免提到的警告/错误消息。

对问题有更多了解后进行编辑

我还没有提到的一件事是 PYKD 用法:我正在开发 heap_stat,一个基于 PYKD 的脚本,用于执行内存分析,我相信问题就在这里,正如您在以下摘录中看到的:

脚本源代码:

dbgCommand(".outmask-206")
...
dprintln("1")
type_info = typeInfo(class_name)
dprintln("2")

脚本输出:

1
*** WARNING: Unable to verify checksum for icuuc58.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for icuuc58.dll - 

在我看来,这意味着 PYKD typeInfo() 对象声明就是一个,禁用 .outmask() Windbg 命令。

@PYKD 开发人员:您能否确认这一点,如果可以,请为此添加一个 PYKD 问题? (我在 PYKD issues homepage 上没有看到任何 .outmask 相关问题)

最佳答案

您可以使用 .outmask-6
抑制错误/警告消息 或使用 .outmask-206 抑制末尾的 symsrv 摘要和警告消息

0:049> .outmask-6
Client 02C95358 mask is 3F1
0:049> .reload /f
Reloading current modules
................................................................
............................................................

使用此功能时要小心,一些重要的错误消息也可能会被抑制

如果您的意思是需要阻止 symsrv 访问 MS 符号服务器并浪费时间

设置带有 [exclusions] 部分的 symsrv.ini

cd windbg installation path

echo [exclusions] >> symsrv.ini
echo ic* >> symsrv.ini

outmask 是全局设置

enter image description here

关于windbg - 如何摆脱与符号文件相关的警告/错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54366898/

相关文章:

windbg - ClrMD 中的 ip2md 等价物是什么

windbg - 具有奇数 MonitorHeld 计数且无所有者的syncblk

ruby-on-rails - 如何在RoR中结合常数和符号的好处?

postgresql - 转储 postgres 数据库、时间和 .sql 文件权重

python - 使用 python 将十六进制转储到 YAML

windbg - !objsize 的十六进制和十进制差异

windbg - 如何进行混合用户模式/内核模式调试?

iphone - 在 iOS 下,有没有一种快速的方法来查看特定 UUID 的符号?

c++ - 如何强制编译器将 C 名称改写为 C++ 名称

c - 根据代码块分段核心转储调试它在第 120 行我的链表堆栈实现有问题吗