首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Visual Studio中将.pdb调试符号信息嵌入到.exe文件中

在Visual Studio中将.pdb调试符号信息嵌入到.exe文件中
EN

Stack Overflow用户
提问于 2010-08-27 00:01:52
回答 3查看 8K关注 0票数 13

我正在试验一个分析工具,它可以分析Windows中嵌入了调试符号信息的可执行文件。在几个开源项目上尝试此工具时,我意识到大多数构建都不在可执行文件中保留符号信息。我可以使用VS (2008)编译源代码,但构建通常会将调试信息保存在一个单独的.pdb文件中,而不是.exe文件中(不幸的是,我只想从.exe文件中读取调试信息,而不是.pdb文件:-()。

有人知道使用Visual Studio将符号调试信息嵌入到单个.exe文件中的方法吗?

EN

回答 3

Stack Overflow用户

发布于 2017-02-28 14:47:57

我知道这是一个相当老的问题,但这个功能最近已经合并到Roslyn中:https://github.com/dotnet/roslyn/issues/12390

票数 8
EN

Stack Overflow用户

发布于 2010-08-27 00:17:20

Visual Studio中没有对此类型操作的内置支持(至少对于托管语言)。.PDB和.EXE文件是同时创建的,没有嵌入选项。我甚至不确定.EXE格式是否支持嵌入PDB符号,尽管在这一点上我可能是错的。

我能看到的唯一方法就是将PDB作为资源嵌入到.EXE中,但是这必须是一个构建后的步骤,因为这两个步骤是同时构建的。而且,如果在构建之后修改EXE,则可能会使PDB的某些部分失效。

你想这么做有什么特别的原因吗?我想它最终会给你带来很多麻烦,因为1)它不支持AFAIK,2)工具链是为了在相同的目录中寻找PDB,而不是在.EXE中。

票数 1
EN

Stack Overflow用户

发布于 2010-08-27 04:10:09

我很确定PDB总是独立的文件。VC++曾经有一个开关,可以使它将符号信息发送(与PDB相比有限)到默认情况下嵌入在可执行文件中的"CodeView“.DBG文件。但是,在较新版本( 6.x ?之后?)中似乎不再支持该开关。编译器的版本。

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

https://stackoverflow.com/questions/3576973

复制
相关文章

相似问题

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