二进制文件没有使用调试信息构建

时间:2014-02-13 14:30:12

标签: c# asp.net visual-studio visual-studio-2013

我正在使用Visual Studio 2013,.Net Framework 4.0和C#。

我正在尝试调试项目中的文件。我将项目设置为在项目属性中调试构建,未选中“optimize”。然而,每当我尝试调试此项目时,它都无法加载符号。所以我转到模块窗口加载符号,并且dll的“优化”列设置为“是”,“用户代码”列设置为“否”,并且消息“二进制文件未使用调试信息构建”在“符号状态”列中。

我已经清理并重建,重置iis,并多次手动清除临时的asp.net文件,但没有用。

有人知道如何解决这个问题吗?

5 个答案:

答案 0 :(得分:29)

如果您的项目已处于调试模式。请检查项目的构建标签中的高级构建设置对话框。

确保调试信息未设置为无 enter image description here 参考:

Stackoverflow

MSDN

答案 1 :(得分:1)

您尝试调试的DLL很可能不是在您的解决方案中构建的。您需要找到它的构建位置并获取调试版本(或者至少是带有pdb符号文件的发行版本。)

答案 2 :(得分:1)

如果您遇到此问题并且此处没有其他答案可用,请检查解决方案 - >属性 - >配置并确保您的项目设置为debug。

答案 3 :(得分:0)

如果您尝试从托管代码(C#)调试本机代码(C ++),请确保将您的属性设置为混合而不是仅限Native。

  1. 右键单击您的项目,然后单击属性
  2. 调试标签下,转到调试器类型部分,然后将应用程序进程更改为混合(托管和本机) 即可。
  3. (我按照韦斯顿给出的答案here。感谢韦斯顿!)

答案 4 :(得分:0)

对于Visual Studio 2017 for Configuration Release或Debug,您可以创建一个pdb文件来获取如下调试信息:

  • 在解决方案资源管理器中右键单击您的项目,然后选择“属性”
  • 选择“配置属性”
  • 选择“调试”
  • 在“生成调试信息”中选择“是(/ DEBUG)”
  • 在“生成程序数据库文件”中输入:$(OutDir)$(TargetName).pdb