16

当我在调试甚至编码时,检查第三方程序集真的很有用,但我只能看到它们的元数据。

鉴于反射器之类的工具可以反编译程序集,是否有某种工具可以让 Visual Studio 做同样的事情?

如果我碰巧可以访问程序集的 PDB 文件,将它们放入我的应用程序 bin 文件夹中是否允许我通过 Visual Studio 检查程序集内容?

4

3 回答 3

25

如果您有 DLL 的 PDB,您当然可以在调试时检查 DLL。确保您已“禁用仅我的代码”,您应该一切顺利

工具 -> 选项 -> 调试 -> 取消选中“只是我的代码”

但是有一个警告,Visual Studio 调试器不会反编译程序集。如果可用,它将从 PDB 读取源文件信息,并建议查找源文件的位置。如果您无权访问源文件,您将被迫在调试时查看机器反汇编(不是反编译的 IL)。

于 2010-03-20T10:24:11.050 回答
10

您可以通过调用堆栈加载 pdb。

只需右键单击要为其加载 pdb 的函数,然后转到“加载符号”。浏览正确的 pdb,然后按 OK。之后,它应该能够为该 pdb 中的调用提供信息。

于 2010-03-20T02:45:21.740 回答
7

在此处试用 .NET reflector Pro

我相信它也可以在他们的免费版本中使用。

于 2010-03-20T02:49:18.050 回答