.NET 反編譯調試神器:dnSpy瞭解一下

.NET 反編譯調試神器:dnSpy瞭解一下

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

具體操做步驟以下所示:服務器

  1. 添加系統環境變量,COMPLUS_ZapDisable = 1  (這個環境變量告訴.Net RunTime 忽略已經提早編譯的源碼.Net框架程序集,用JIT編譯器編譯的程序集代替。)app

  2. 若是須要調試IIS進程,可進入 C:\Windows\System32\inetsrv目錄執行 appcmd list wp 查看對應的應用程序池進程ID框架

  3. 打開dnspy,調試-->附加到進程-->選擇相應的進程ID-->附加(支持同時附加多個進程)url

  4. 調試-->窗口-->模塊-->搜索要調試的程序集-->雙擊spa

  5. 在程序集資源管理器找到要調試的類打開,打斷點調試便可調試

  6. 右鍵要修改的類文件-->編輯類/方法-->修改類-->編譯code

  7. 文件-->保存模塊-->選擇要保存的路徑-->保存orm

  8. 將保存的從新編譯的程序集替換到目標路徑便可

  9. 執行 iisreset(若爲IIS應用)

 

圖一:配置環境變量

 

圖二:獲取IIS站點對應的進程ID

 

圖三:如何附加進程並找到要調試的程序集

1) 附加進程

2)找到調試的程序集

 

 圖四:如何修改代碼從新編譯並導出程序集

1)修改代碼

2)從新編譯

 

3) 導出程序集

 

 

******轉摘:http://url.cn/5cYG8zY

相關文章
相關標籤/搜索