在虚拟机上,我无意中重现了每年只出现一次或两次的问题。该软件处于只要应用程序处于事件状态并正在运行的状态,我就可以重现该问题。唯一的问题是一切都是在发布时构建的。因此,当我使用 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/