.NET 反编译调试神器:dnSpy了解一下
如果客户环境出了问题,而又无法快速定位问题,可以借助dnSpy进行反编译调试跟踪。可以直接在服务器上进行调试。

可前往[dnSpy官网下载:https://github.com/0xd4d/dnSpy]下载(内置包含.NET Framework 4.7.1,若运行提示需要安装,可解压找到 .NETFramework4.7.1-x86-x64-AllOS-ENU.exe安装)。

目前dnspy4.5.3 支持对.net 2.0的程序集的调试的需要的.netFramwork 版本不清楚
dnspy5.0.9就需要安装 .NET Framework 4.7.1 了. 我的环境没那么高. 就不装那么高的版本了.

具体操作步骤如下所示:

添加系统环境变量,COMPLUS_ZapDisable = 1

如果需要调试IIS进程,可进入 C:\Windows\System32\inetsrv目录执行 appcmd list wp 查看对应的应用程序池进程ID

打开dnspy,调试–>附加到进程–>选择相应的进程ID–>附加(支持同时附加多个进程)

调试–>窗口–>模块–>搜索要调试的程序集–>双击(这一步很重要, 不是从窗口中拖过来的dll)

在程序集资源管理器找到要调试的类打开,打断点即可

右键要修改的类文件–>编辑类/方法–>修改类–>编译

文件–>保存模块–>选择要保存的路径–>保存

将保存的重新编译的程序集替换到目标路径即可

执行 iisreset(若为IIS应用)