Resharper调试第三方反编译的dll

Noe*_*oel 56 .net debugging resharper

有没有办法使用Resharper调试反编译的DLL,如果是这样,你怎么做?

例如,我试图调试到System.Web.Http.ApiController我反编译的地方,并可以看到源.

我设置了一个断点,但是当我运行应用程序时,它在调试时不会破坏反编译的断点.

Fab*_*Fab 47

是的,你可以使用Resharper 9.0

(不确定以前的版本).

转到菜单"Resharper" > "Windows" > "Assembly Explorer"

  • 在那里添加一个组件,左边有第一个按钮(上面有一个+)
  • 然后右键单击它并选择"Generate Pdb ..."(等到它完成)
  • 现在你可以打破代码了.

但请注意,正如Jens所说,它可能会违反许可条款

  • 我写了一篇博文,更详细地解释了这个问题:http://blog.pglazkov.com/2016/02/how-to-debug-any-library-source-code.html (6认同)
  • 如果您已经在调试,请转到“调试”>“Windows”>“模块”。选择要调试的程序集并加载之前由 Resharper 生成的“pdb”。 (4认同)

Shk*_* S. 15

调试工具在dotPeek 1.2引入,这里是一个不错的职位描述如何配置符号服务器和dotPeek 1.2从VisualStudio中调试反编译的代码:http://blog.jetbrains.com/dotnet/2014/04/09/introducing-dotpeek -1-2-早期访问计划.


ang*_*son 10

不,仅使用Visual Studio和ReSharper是不可能的,但是还有另一种产品可以帮助您,.NET Reflector.

VSPro版的功能,它允许你产生.pdb文件和反编译源代码已经内置.NET程序集是"使用Visual Studio调试器,即使你没有源调试组件".

根据经验,它在某些装配体上存在一些问题,但我不记得为什么会这样,所以它可能会或可能不会帮助你.

使用ReSharper,您可以从程序集中查看反编译的源代码,与Reflector将生成反编译源的方式几乎相同,但您无法使用ReSharper使用这些源文件调试代码.


Tom*_*mez 10

在Assembly Explorer窗口中选择一个装配,然后单击工具栏上的Export to Project,或在上下文菜单中选择Export to Project.

更多信息在这里

另外,请检查主调试选项页面上的此配置(工具 - >选项 - >调试 - >常规):

取消选中"启用我的代码"选项

取消选中"启用.NET Framework源步进"选项

选中"启用源服务器支持"选项

取消选中"要求源文件与原始版本完全匹配


Rob*_*bie 8

据我所知,无法使用Resharper调试反编译的.net源代码(最高为v6.1)

但是,本文将介绍如何使用Visual Studio 2010调试.net源代码 - 如果您需要有关其他版本VS的说明,请使用页面顶部的"其他版本"链接.

  • 您可以使用dotPeek反编译DLL,然后在VS中设置符号服务器.请参阅此文章https://medium.com/@jackspektor/not-just-my-code-how-to-debug-third-party-libraries-without-decompiling-them-8e47e706dbe7 (2认同)

小智 6

[完全披露 - 我是Telerik员工]使用最新版本的Telerik的JustCode,您现在可以调试反编译代码而无需离开Visual Studio.有关更多信息,您可以在此处阅读我的博客文章,宣布该功能.