若是客户环境出了问题,而又没法快速定位问题,能够借助dnSpy进行反编译调试跟踪。能够直接在服务器上进行调试。git
可前往[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
安装)。github
具体操做步骤以下所示:服务器
添加系统环境变量,COMPLUS_ZapDisable = 1 (这个环境变量告诉.Net RunTime 忽略已经提早编译的源码.Net框架程序集,用JIT编译器编译的程序集代替。)app
若是须要调试IIS进程,可进入 C:\Windows\System32\inetsrv
目录执行 appcmd list wp
查看对应的应用程序池进程ID框架
打开dnspy,调试-->附加到进程-->选择相应的进程ID-->附加(支持同时附加多个进程)url
调试-->窗口-->模块-->搜索要调试的程序集-->双击spa
在程序集资源管理器找到要调试的类打开,打断点调试便可调试
右键要修改的类文件-->编辑类/方法-->修改类-->编译code
文件-->保存模块-->选择要保存的路径-->保存orm
将保存的从新编译的程序集替换到目标路径便可
执行 iisreset
(若为IIS应用)
图一:配置环境变量
图二:获取IIS站点对应的进程ID
图三:如何附加进程并找到要调试的程序集
1) 附加进程
2)找到调试的程序集
图四:如何修改代码从新编译并导出程序集
1)修改代码2)从新编译
3) 导出程序集
******转摘:http://url.cn/5cYG8zY