我有一个来自目标应用程序崩溃的mindmp文件.我是否可以为某个版本的软件重建dll / pdb文件并正确加载windbg符号?
我的问题是我们的pdb文件仅保留用于主要版本(不幸的是).这是一个每日构建,我可以自己重建,但我会因错误而被绊倒.
DBGENG: C:\...\XXX.dll image header does not match memory image header. DBGENG: XXX.dll - Partial symbol image load missing image info DBGHELP: Module is not fully loaded into memory. DBGHELP: Searching for symbols using debugger-provided data. DBGHELP: C:\...\XXX.pdb - mismatched pdb
注意我用dll构建了pdb,它们来自同一个RELEASE目录(我应该构建调试吗?)
这些是发布版本(因为发布版本安装在目标上并且崩溃)我应该以某种方式使用调试构建dll来获取更多符号信息吗?
根据我的经验可能不是.
如果你有确切的构建目录并使用完全相同的编译器设置进行构建,那么这可能会有效.您绝对无法从调试版本加载版本崩溃转储中的符号.
您需要打开’load anything’选项:.symopt 0x40以使windbg忽略时间戳差异.