首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windb使.dmp文件工作

Windb使.dmp文件工作
EN

Stack Overflow用户
提问于 2014-07-03 07:39:23
回答 1查看 597关注 0票数 1

我有一个使用不同dll的程序,它崩溃了。我正试图用WinDbg找出坠机的原因,但到目前为止我还没有运气。

我有.dmp文件,但是我尝试过附加作为符号路径,我也尝试在符号路径中添加dll和其他一些东西,但是它一直告诉我它找不到myProgram.dmp/符号等等,或者只是找不到符号。

使用.dmp文件的正确方法是什么?

感谢我是新手,在线文档似乎只对那些没有DLL和其他非内置DLL的程序有帮助。

其中一些错误的示例:

*错误:找不到符号文件。默认情况下导出mydll.dll符号 *错误:模块加载已完成,但无法为myprogram.dll加载符号 找不到: c:\users\me\desktop\myprogram.dmp\symbols\dll\ole32.pdb

我成功地加载了默认窗口符号,将下载的符号添加到符号路径中。必须将项目中使用的DLL添加到“符号”文件夹或其他地方吗?

PRIMARY_PROBLEM_CLASS: WRONG_SYMBOLS C:\用户\me\桌面\分配\4. DPI-600测试\DumpFileDebugging\符号

EN

回答 1

Stack Overflow用户

发布于 2014-07-03 09:40:33

首先,为您的私人符号设置一条路径。我们叫它X:\我的符号。将所有PDB复制到该文件夹中,就像一个平面列表一样。在WinDbg中,将符号路径设置为该文件夹

代码语言:javascript
复制
.sympath X:\mysymbols

接下来,让WinDbg找到微软的东西。创建一个文件夹X:\micro符号。不要在里面放任何东西,不要使用与X:\my符号相同的文件夹。将该文件夹添加到符号路径:

代码语言:javascript
复制
.symfix+ X:\microsymbols

现在一切都已正确设置,请告诉调试器刷新:

代码语言:javascript
复制
.reload

在少数情况下,只有一个

代码语言:javascript
复制
.reload /f; ld *

很有帮助。

如果你还不走运,试试

代码语言:javascript
复制
!sym noisy

以便调试器告诉您符号到底有什么问题。查找错误消息并尝试修复它们。

如果它仍然出错,您可能根本没有正确的PDB。PDB通过一种散列/时间戳与模块(DLL和EXE)相关联。所以要么获得正确的PDBs,要么尝试

代码语言:javascript
复制
.symopt+ 0x40

这迫使调试器在不检查哈希的情况下加载所获得的任何内容。要注意,如果离得太远,可能会产生误解。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24547773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档