【发布时间】:2020-06-16 21:31:34
【问题描述】:
我的 C# WPF 应用程序不会使用 Visual Studio 2017 加载符号文件。我已经在线查看并检查了常见问题,但无法调试我的应用程序。这是新的行为。作为多项目解决方案的一部分,它一直在工作(至少几个月前)。我不知道发生了什么变化。
我在 Main() 之后设置了一个断点,它显示为纯红色,直到我尝试在调试配置中运行。由于断点没有停止执行,所以我明确地中断了。
[STAThread]
static int Main(string[] args)
{
Application.EnableVisualStyles(); // breakpoint on this line
Application.SetCompatibleTextRenderingDefault(false);
Debugger.Break();
现在运行时,它会弹出“符号文件未加载”并显示“二进制文件未使用调试信息构建”。
检查“活动(调试)”配置项目属性,在“构建”窗格中,我看到了
[x] Define DEBUG constant
[x] Define TRACE constant
[ ] Optimize code
在“高级构建设置”对话框中
Debugging Information: Full
运行 Build->Clean,然后 Build->Rebuild,我看到 bin/Debug/ 目录中新创建的 app.exe 和 app.pdb 文件。删除 bin/ 和 obj/ 目录并重建时,尝试调试应用程序时仍然出现相同的错误。
当我查看调试输出以及各种加载的 Windows DLL、加载的符号时,我看到我的应用程序显示“模块是在没有符号的情况下构建的。”
在 Debug->Windows->Modules 窗口中,我看到我的应用程序显示“优化:否”和“符号状态:二进制文件未使用调试信息构建”。在同一个窗口中,我右键单击我的应用程序,选择“加载符号”并选择 bin/Debug/app.pdb 文件。它说,“在此文件夹中找不到匹配的符号文件”。
我要疯了,想弄清楚这一点。似乎应该使用调试信息构建它,但事实并非如此。谁能指出我正确的方向?
【问题讨论】:
-
您是否删除了对“只是我的代码”docs的检查
-
你的 wpf 项目的框架版本是多少?你是从旧的 VS 迁移到 VS2017 的吗?
-
"just my code" 没有被勾选,Target framework 是 4.6.1 并且项目是在 VS2017 中创建的,而不是旧版本。
标签: c# visual-studio visual-studio-debugging debug-symbols