c# - 在附加到发布版本时,是否有任何工具可以用来调试信息?

标签 c# visual-studio debugging release

在虚拟机上,我无意中重现了每年只出现一次或两次的问题。该软件处于只要应用程序处于事件状态并正在运行的状态,我就可以重现该问题。唯一的问题是一切都是在发布时构建的。因此,当我使用 Visual Studio 进行调试并尝试查看某些值时,我收到以下消息:

Cannot evaluate expression because the code of the current method is optimized.

据我所知,解决此问题的唯一方法是在调试中构建。不幸的是,这是不可能的,因为一旦我关闭应用程序并在调试而不是发布中重新启动它,我可能再也没有机会重现这个问题。

是否有任何工具或任何我可以做的事情来使软件保持当前状态,同时又能够检索我感兴趣的一些值?同样,这是一个发布版本,所以我意识到缺少很多调试所需的信息。我确实有我感兴趣的程序集的发布 pdbs/源代码。这不太重要,但我正在尝试查看 Window 对象的 IsLoaded 属性可能还有其他一些属性。

最佳答案

也许您可以尝试项目属性 - 构建 - 高级 - 调试信息 = 完整?

根据 this answer 我认为这将允许您附加调试器。线程中的其他答案对此选项的影响有不同的答案,但可能值得一试。

关于c# - 在附加到发布版本时,是否有任何工具可以用来调试信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37168613/

相关文章:

c# - 如何设置几个visual C#项目的输出路径

c# - 如何为新的 C# 类/接口(interface)编辑 Visual Studio 模板?

debugging - 如何在 Opera Mini 上调试?

node.js - 在 Windows 10 上使用 Intellij IDEA 在 WSL 2 中运行和调试 Nodejs

c# - 如何强制 Kentico 默认生成小写 url?

c# - 使用 AngularJS 在 MVC4 WebAPI 中报告

c# - 我可以避免 Entity Framework 使用 SQL_VARIANT 来查询吗?

c++ - Visual Studio 不显示符号表?

eclipse - 如何在 Eclipse 调试器中后退一步?

c# - 如何在 C# 中的类上创建扩展方法?