gpt4 book ai didi

c# - 如何制作 ReSharper Ultimate 反编译堆栈帧?

转载 作者:行者123 更新时间:2023-11-30 16:00:54 31 4
gpt4 key购买 nike

我知道 ReSharper Ultimate 在 Visual Studio 中放入了一个可以反编译外部代码的加载项,因为我之前几次无意中反编译了各种东西。但现在我处于这样一种情况,它实际上很有用,但我实际上无法显示反编译 View 。

我正在调试 Visual Studio 扩展,我遇到了一个操作,在该操作中尝试实例化表单设计器会导致 NullReferenceException 数十个堆栈帧(以及多个 Managed To Native Transition 往返)超出我的代码的最后一次调用。我可以在调试器中加载符号并检查调用堆栈,它似乎在与名称解析相关的东西上爆炸,但名称是框架中类型的名称,而不是我自己的代码,所以我不知道发生了什么或如何解决它。

如果能够使用这个我知道我可以使用的反编译功能来查看这个函数的底层并弄清楚出了什么问题,那肯定会很好,但无论我使用什么菜单仔细查看我无法弄清楚如何得到它来给我一个外部堆栈框架的反编译。

有人知道怎么做吗?

最佳答案

ReSharper 不会从调用堆栈窗口反编译。我想最大的原因是你无法调试该代码或设置断点,因为它只是反编译代码,不包含调试信息。而且我认为,如果它确实从调用堆栈窗口反编译,您会期望调试也能正常工作。

相反,您可以使用 dotPeek 作为符号服务器。它将启动一个 HTTP 服务器并监听对程序集调试文件的请求。如果它加载了程序集,它将对其进行反编译,生成一个 .pdb 文件并将其提供给 Visual Studio。然后,您将能够双击调用堆栈中的帧,并导航到刚刚反编译的源代码。

您可以 read more about it in the documentation .

关于c# - 如何制作 ReSharper Ultimate 反编译堆栈帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39492397/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com