gpt4 book ai didi

WinDbg 缺少托管代码的符号

转载 作者:行者123 更新时间:2023-12-01 14:04:10 27 4
gpt4 key购买 nike

我在让 WinDbg 使用 PDB 时遇到问题我的文件 .NET动态链接库文件。我正在查看的挂起转储来自生产构建,但我有来自相同代码的调试构建的 PDB 文件。

我将符号路径设置为包含本地文件夹和 Microsoft 符号服务器。

C:\websymbols\foo;srv*c:\websymbols*http://msdl.microsoft.com/download/symbols

我将所有 PDB 文件放在 C:\websymbols\foo 中。然而,托管堆栈列表不包含任何方法名称。

重新加载,.reload/f,告诉我:

DBGHELP: No debug info for FOO.dll.  Searching for dbg file
SYMSRV: c:\websymbols\foo\FOO.dbg\49B7F17C10000\FOO.dbg not found
SYMSRV: c:\websymbols\FOO.dbg\49B7F17C10000\FOO.dbg not found
SYMSRV: http://msdl.microsoft.com/download/symbols/FOO.dbg/49B7F17C10000/FOO.dbg not found
DBGHELP: .\FOO.dbg - file not found
DBGHELP: .\dll\FOO.dbg - path not found
DBGHELP: .\symbols\dll\FOO.dbg - path not found
DBGHELP: FOO.dll missing debug info. Searching for pdb anyway
DBGHELP: Can't use symbol server for FOO.pdb - no header information available
DBGHELP: FOO.pdb - file not found
*** WARNING: Unable to verify checksum for FOO.dll
*** ERROR: Module load completed but symbols could not be loaded for FOO.dll
DBGHELP: FOO - no symbols loaded

在测试环境中将 WinDbg 附加到服务时,托管堆栈可以正常显示方法名称。转储内存并在本地分析 DMP 文件我没有在托管堆栈中看到名称。我可能做错了什么?

最佳答案

您需要完全相同的 PDB 文件。调试符号不适用于零售转储。并且您需要来自完全相同构建的 PDB 文件。

无论何时将位发布到野外,您的构建团队都应该存储私有(private) PDB 文件以供引用,以防六个月后您不得不盯着转储...

关于WinDbg 缺少托管代码的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com