0

我使用 clrdump 创建了一个转储。当我使用sos查看它时,我加载了sos然后运行!dso,但我得到的错误是:

PDB symbol for mscorwks.dll not loaded

但是,在模块窗口中,它说符号已加载。我从 MS 商店获得了最新的符号?

有人有什么想法吗?

谢谢,

达伦。

4

2 回答 2

2

您实际上并不需要符号mscorwks.dll才能!dso正常工作,但这里有一些关于如何获取符号的建议。

您需要做的第一件事是验证您是否设置了符号路径?.sympath您可以使用该命令查看符号路径的当前设置。您可以下载所有符号并将符号路径指向光盘上的位置,或者只使用在线符号服务器。在任何一种情况下,符号路径都必须指向正确的位置。

您可以使用该.symfix命令指向 Microsoft 的公共符号服务器,这可能是获取符号的最简单方法(前提是您可以在线访问)。

使用lm命令查看模块及其符号。如果它pdb symbols在模块旁边显示一切正常。请记住,WinDbg 只会根据需要加载符号,因此对于很多模块,您可能会看到deferred. .reload /f您可以使用该命令强制加载所有模块的符号。

要对符号加载进行故障排除,请使用该!sym noisy命令。它会告诉您调试器试图定位 PDB 文件的位置。

于 2010-11-23T07:00:16.680 回答
1
!sym noisy    
.symfix
.reload -f
于 2010-11-23T07:02:00.127 回答