如果需要调试 WPF 源代码或框架源代码,那么需要使用 DotPeek。 首先需要下载 dotPeek ,可以到官网下载 dotPeek: Free .NET Decompiler & Assembly Browser by JetBrains 还可以到 csdn 下载 首先打开 dotPeek 然后点击启动符号服务器,所有符号。 这时候可以看到 dotPeek 在反编译,这个时间比较长,需要去做一些你喜欢做的事情,回来就可以发现 dotPeek 反编译好而且你看到 ms 源代码,这时候可以尝试源代码断点,但是不是所有地方都可以断点 在 win10 下,调试的代码是没有注释的,但是可以对比 dotpeek 的代码来看,一般他里面的代码就是有注释的,反编译的代码和 dotPeek 看到代码有些地方是不同的,但是实际功能是一样的。
Github: https://github.com/dnSpy/dnSpy JetBrains dotPeek dotPeek 可以把任何 .NET 程序集反编译为等效的 C# 代码,由 JetBrains 同时 dotPeek 也支持和 Visual Studio 一样的一组颜色主题。 还可以可视化查看程序集之间的依赖关系。 您最喜欢使用哪个反编译工具呢?
不过不要想着这样就可以像我一样快速调试源代码,还需要另一个工具 DotPeek 打开 DotPeek ,如果还没下载,那么请到官网下载 或者到我上传的 CSDN 下载 dotPeek 查看源代码-CSDN ms 源代码 加载代码 如果发现 dotpeek 的加载的代码太少了,如没有找到 WindowsBase 就需要在 GAC 添加代码 ? 这时点击了就可以去喝咖啡,因为需要等待 dotpeek 创建符号,打开 dotpeek 可以看到进度,是非常慢的 除了WindowsBase还需要添加 PresentationCore ,如果自己的 PotPeek 这时就需要使用 dotpeek 找到对应的代码,然后导出工程 在对应的代码右击,选择导出工程 如果自己有导出,那么把这个工程添加到设置源代码 ? 如果看到一个黑点,表示这个断点无法进入,这时尝试加载符号,需要注意,必须要使用 dotPeek 符号服务器才可以加载,这时需要开着 dotpeek 只要加载第一次符号,之后加载还是很快 这时试试触摸一下
dnSpy/releases Latest build: https://ci.appveyor.com/project/0xd4d/dnspy/build/artifacts 3:JetBrains dotPeek dotPeek 是 JetBrains 开发的一款.Net反编译工具,是.Net工具套件中的一个相比于前面几款工具来说,dotPeek算比较小众的一款,它生成的代码质量很高,它还会尝试到源代码服务器上抓取代码 DotPeek的导航功能和快捷键非常便捷。它还能精确查找符号的使用,同时支持插件。DotPeek不能与Visual Studio集成。
这里我使用了本地的符号服务器,是JetBrains提供的一个叫Dotpeek(https://www.jetbrains.com/zh-cn/decompiler/)的,使用这东西有几个好处: 从Microsoft 或者NuGet获取的符号文件,是根据最新的源代码生成的pdb文件,而本地的.net Framework版本经常不是最新版或者会切换使用,这样就会不对应导致无法调试 Dotpeek会自动根据当前dll 折腾了一两天,最后发现Dotpeek很方便,每次运行调试都会为你处理成正确的pdb符号文件。 Dotpeek: https://www.jetbrains.com/zh-cn/decompiler/ 6.
3、dotPeek dotPeek是JetBrains的免费.NET反编译器。它们的许多工具实际上进入了该列表。 与两个反编译器(如ILSpy或JustDecompile)相比,我更喜欢dotPeek,这有两个原因: dotPeek提供了更好的用户体验。或至少我感到自在。它看起来和感觉都像Resharper。 dotPeek可以从任何程序集中创建符号服务区,即使没有符号或源代码也是如此。它像dnSpy一样,它或反编译代码并从中创建符号。 借助dotPeek,Visual Studio就像dnSpy一样调试任何第三方代码。要查看准确程度,请参阅我的文章:在Visual Studio中调试没有符号的第三方.NET代码,后续会进行翻译。
Cmd Markdown下载地址:X86 | X64 反编译 dotPeek dotPeek 是 .NET 平台的一款免费的反编译工具,支持反编译 .NET 1.0 ~ 4.0 到 C# 代码。 dotPeek下载地址:X86 | X64 | 使用说明 JustDecompile Telerik 公司开发的 .NET 程序集反编译引擎,为反编译工具 JustDecompile 提供反编译功能
快速编写 Emit 为了快速编写和调试 Emit,我们需要 ReSharper 全家桶: ReSharper - 用于实时查看 IL 代码 dotPeek - 免费,用于查看我们使用 Emit 生成的代码 现在开始利用 dotPeek 进行 IL 的调试。 我们编写另外一个方法,用于将我们的生成的 IL 代码输出到 dll 文件。 将他们都拖进 dotPeek 中,然后在顶部菜单 Windows->IL Viewer 中打开 IL 显示窗格。 ? 发现什么了吗?是的!对于结构体,用的是拆箱!!!而不是强制类型转换。 通过 dotPeek,我们可以查看程序集中类型和方法的 IL 代码。
GitHub开源地址:https://github.com/dnSpy/dnSpy 安装下载地址:https://github.com/dnSpy/dnSpy/releases JetBrains dotPeek dotPeek 是一款基于 ReSharper 捆绑反编译器的免费独立工具。
断点调试是其他手段的一个辅助,在大多数调试方法里面都用到断点调试 在断点调试过程可以了解当前上下文变量状态,以及代码执行逻辑,甚至更改变量值更改执行顺序 在断点调试库或框架中最重要的是符号文件,可以通过 dotPeek 本文接下来告诉大家如何通过 dotPeek 创建符号文件进行调试 dotPeek 反编译库调试 在很多的库的调试的时候,这些库都没有带符号文件,此时可以通过 dotPeek 反编译同时创建符号文件加载 首先需要下载 dotPeek ,可以到官网下载 dotPeek: Free .NET Decompiler & Assembly Browser by JetBrains 还可以到 csdn 下载 打开 dotPeek 然后点击启动符号服务器,然后选择所有的程序集都需要反编译创建符号 ? 点击 dotPeek 的工具设置,可以看到这个页面,选择所有符号都需要同时复制 dotPeek 创建的符号服务器的端口 ?
ILSpy、dnSpy、还是dotPeek?咱们今天的主要内容是讲讲dnSpyEx(dnSpyEx是dnSpy项目的非官方Fork维护版本)这个开源的.NET程序集反编译、编辑和调试工具该如何使用。
使用像JetBrains的dotPeek这样的反编译/反汇编程序也是一个不错选择。您可以将编译的程序集在dotPeek中打开它来显示IL。 最后,ReSharper是不可或缺的工具。
</UpdateStatusEvents> </soap12:Body> </soap12:Envelope> 0x06 补丁对比 具体的分析可以看 horizon3 JetBrains dotPeek
发现并没有这个名字的Grid,所以可以确定这个是来自TabControl的默认Style 所以我们找到win7和win10 下的默认主题 Aero和Aero2 查找方法可以参见博客默认的WPF样式在哪里 我们分别放在DotPeek
我们可以使用市场上免费的反编译器,比如Telerik JustDecompile和Jet brain dotPeek,通过这些工具我们可以将中间语言转换成原始的源代码。
ILSpy、dnSpy、还是dotPeek?咱们今天的主要内容是讲讲dnSpyEx(dnSpyEx是dnSpy项目的非官方Fork维护版本)这个开源的.NET程序集反编译、编辑和调试工具该如何使用。
packages/Castle.Windsor/ http://structuremap.github.io/ http://www.springframework.net/ .NET Reflector/dotPeek
反编译器的更新和 GraphML 格式的类型和项目依赖关系图的导入/导出 dotCover, dotMemory, dotPeek, and dotTrace 2022.3 发布! | The .NET Tools Blog https://blog.jetbrains.com/dotnet/2022/12/07/dotcover-dotmemory-dotpeek-dottrace -2022-3/ dotCover, dotMemory, dotPeek 和 dotTrace 2022.3 已经发布。 dotPeek:现在支持静态抽象和通用属性等新功能 dotTrace:增加了对 ARM64 上的 Windows 和 ARM32 上的 Linux 运行器的支持,对快照分析进行了一些改进,取消了性能视图
反编译与代码转换:洞察代码的秘密 dotPeek和Ilspy,这两款反编译工具,能够让开发者洞察编译后的代码,理解其工作原理。
【英文】dotCover、dotMemory、dotPeek 和 dotTrace 2023.2 发布! JetBrains 博客 https://blog.jetbrains.com/dotnet/2023/08/02/2023-2-dottools-release/ dotCover、dotMemory、dotPeek 、dotTrace、dotMemory 2023.2 Rider 中的快照分析 dotTrace * 采样、跟踪、按线程分组的逐行快照 * Linux 和 macOS 上的源代码查看工具窗口 dotPeek