我正在使用WinDbg从托管代码加载故障转储(C#,一个为 Any CPU 构建的控制台应用程序)。我在x64平台上调试。我已将相关的PDB文件放入符号路径中。
但是当我使用lm
命令查看加载模型时,无法加载控制台EXE文件应用程序的符号。我试图执行.reload /f
,但我仍然无法为我的应用程序加载符号。
BTW:我有我的应用程序的完整源代码。我的应用程序是为.NET 3.0构建的,但我正在调试的机器安装了最新的.NET 3.5 + SP1。错配可能是问题吗?
如何进一步分析此问题?
答案 0 :(得分:1)
首先,我会尝试使用!sym noisy
,然后重新加载模块。您应该看到它正在尝试加载的模块的信息。如果您有本地缓存,则可能会看到E_PDB_CORRUPT
的常见状态。首先从本地缓存中删除符号文件,然后使用.reload /f
。
如果找不到符号,请确保您有正确的符号包或Use the Microsoft Symbol Server to obtain debug symbol files。