我正在为我的托管应用程序生成小型转储。这是我到目前为止所拥有的:
- 我已经设置了一个异常过滤器,如本文所述。在过滤器中,我调用 MiniDumpWriteDump。
- 我已经能够在 VS 调试器中加载生成的转储,浏览调用堆栈并查看本地值。
但是,当在我的项目中启用优化时,locals 的值是不可访问的(我得到"The value of the local or argument 'x' is unobtainable at this time"
)。现在,我知道为什么会发生这种情况了——优化可以做一些事情,比如重用局部变量,这意味着编译后的代码不再反映源代码。
我的问题:有解决方法吗?某种方式既可以优化代码又可以访问本地人?我不反对使用第三方工具来生成/查看 minidump。