.NET 反编译调试神器:dnSpy了解一下
如果客户环境出了问题,而又无法快速定位问题,可以借助dnSpy进行反编译调试跟踪。可以直接在服务器上进行调试。
可前往[dnSpy官网下载:https://github.com/0xd4d/dnSpy]或直接从我的[分享链接:https://1drv.ms/u/s!Ag9J9FrcQ96Zg-hU64GPaM-GtASMCA]下载(内置包含.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应用)