若是客戶環境出了問題,而又沒法快速定位問題,能夠藉助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