当前位置:  开发笔记 > 编程语言 > 正文

如何在发布模式下为.net托管项目生成PDB?

如何解决《如何在发布模式下为.net托管项目生成PDB?》经验,为你挑选了3个好方法。

我知道通过给编译器/ debug参数为.NET中的托管项目生成PDB .有没有办法在VS(2005)GUI中指定它?

到目前为止,我能够在发布模式下生成PDB的唯一方法是手动修改.csproj文件并添加:

true
full

在'发布'设置下:


另一件事:我在MSDN上从这里了解到DebugType标签的可能值是:

full

pdbonly

none

这些值如何影响编译器的行为?



1> Mehrdad Afsh..:

在VS2008中,您可以使用项目属性->Build ->Advanced ... ->Debug Info 设置属性.



2> Daniel P. Bu..:

在DEBUG中:

true
full
false

在RELEASE中:

true
pdbonly
true



3> Cristi Diaco..:

我发现这个MONO请求可能会对' full'和' pdbonly' 之间的区别有所了解.

csc有一个"pdbonly"调试类型,它生成pdbs,同时生成运行时代码,即优化,没有调试器属性等.

这对于能够从发布质量代码获得有用的堆栈跟踪非常重要.

在我看来,2个标签(DebugSymbols和DebugType)的存在是多余的.


"获取有用的堆栈跟踪"这是不正确的.由于存在类型元数据,您将始终在.NET代码中获得有用的堆栈跟踪.发布版本中的PDB对于单步执行生产代码非常重要,但由于优化,您可能会在调试器中出现错误.
如果我收到了一个没有行号或带有堆栈跟踪的文件名的发布错误,我可能会尖叫"这没用!"
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有