如何从.PDB文件创建.MAP文件

8
我想创建一个简单的.MAP文件,列出PDB文件中的地址和符号名称。我的自然倾向是寻找一个名为“pdb2map”的工具,但我得到的大多数结果似乎是指来自包含在Microsoft .NET和Microsoft Windows应用程序调试 CD中的示例程序,不幸的是这个程序没有发布在互联网上。
有人知道一个好的工具吗?谢谢。

你有没有什么理由不能重新编译代码, 让编译器生成一个映射文件呢? - shf301
好的,有几种情况下这并不能帮助到你: (a) 你无法访问所需的源代码,因为你需要 MAP 文件的实际上是一个库 (b) 你有一个文本崩溃报告(可能来自用户),想要查看崩溃发生的位置 - SamB
3个回答

16

如果你同时拥有application.exe和application.pdb文件,将它们放在同一个目录下并运行:

dumpbin /map application.exe > application.map

dumpbin是随Visual Studio以及可能随其他工具一起提供的。



3

无法在二进制形式中找到它,也没有准备好编译的源代码,所以这是我非常快速和肮脏的软件包。它可能对某些人有帮助。它是从上述网站抓取的 - 不是我编写的,我只编译了它并进行了一些更改,以便能够编译(需要VS2010)。这是它:source+bin - Nedko

2

pdb2map也在MSDN杂志的BugSlayer文章中讨论过。不幸的是,在线文章的代码存档已被删除。

作者John Robbins有一个博客,如果您请求,他可能会愿意发布代码。

顺便说一句,这本书很值得购买。


1
Sam,看一下这个链接:http://www.wintellect.com/Contact.aspx 上面关于联系方式的评论表明他们可能不介意被联系。Robbins,Richter 或 Pietrek 的任何一本书都是强烈推荐的。 - Stephen Kellett
@SamB: 我认为Wintellect提供的Stephen Kellett的联系信息可能是最好的选择,但他在MSDN Magazine撰写BugSlayer专栏时使用的电子邮件地址可能仍然有效(尽管我会有点惊讶):slayer@microsoft.com - Michael Burr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接