天天看點

給大家分享兩款正在使用的reflector插件

推薦兩款神器:Deblector和reflexil

它的名字是Debug 和 reflector 兩個單詞的結合。就是用來調試的。 簡單的說,它可以像ide一樣啟動調試程序,或者Attach到一個運作中的程序,并調試他們,設定斷點,單步運作,檢視變量等等。 它不需要pdb檔案,也不會像reflector pro的調試插件一樣依賴ide,也不需要反編譯dll。 一切工作僅在reflector内部完成,是不是很cool。 但缺點也是有的,那就是它隻能在il級别調試。不過對于我們調試bug來說,這個基本已經足夠了。

簡單說一下這個插件的用法。安裝到reflector後, tools菜單下會多一個Deblector菜單。

給大家分享兩款正在使用的reflector插件

點開這個菜單,就可以打開這個插件了。 這時reflector的toolbar上會多出一些button。

給大家分享兩款正在使用的reflector插件

這些button的意思就不多說了,自己看tooltip。

如果想啟動一個新程序調試的話,可以把exe拖到reflector中, 然後點選toolbar上的第一個按鈕,就是小三角,就可以自動啟動這個exe并進入調試模式。

給大家分享兩款正在使用的reflector插件

此時程序啟動起來了,但是會在main函數的入口處斷住,等待你的操作,這個時候你可以找到你想要設斷點的方法,F9設定斷點。

給大家分享兩款正在使用的reflector插件

然後點選小三角或者F7繼續運作程式。然後當程式走到斷點的時候,就能斷住了。

這裡要注意一點,要設定斷點,必須在程式已經斷住的時候才能設,這就是為什麼在程式一開始會自動斷在main入口處的原因了。 如果中途還想設斷點,可以點選暫停按鈕。暫停下來,再設。 其他的功能自己玩吧。 這個工具目前好像已經停止更新了,我測試的可以調試3.5的代碼。4.0的似乎調不了。

給大家分享兩款正在使用的reflector插件

簡單的說這個東東可以修改dll的代碼,并儲存成一個新的dll。按照它自己的說法叫做dll注入工具。 單看這一點似乎沒什麼。 但這個插件的功能卻是很強大。我簡單的說一些: 安裝後,會有這個菜單,

給大家分享兩款正在使用的reflector插件

還有不同的右鍵菜單:

給大家分享兩款正在使用的reflector插件

當你選中一個方法的時候,它能顯示處il代碼以及很多别的資訊,這些資訊都是可以修改的。

給大家分享兩款正在使用的reflector插件

尤其值得一提的是他的 “Replace All will Code” 功能, 點開會出現一個C# 代碼編輯器, 和目前方法的空方法體,然後可以自由書寫代碼。帶智能提示的哦。寫完之後點選 Compile就可以了。 注意這裡寫代碼似乎要用全名,别的有時候可能會出錯,編不過。

給大家分享兩款正在使用的reflector插件

其他的功能就不多說了,它幾乎可以修改dll中的任何地方,而且對強名的支援,已及對強名引用的支援都很強大 有興趣的可以自己試。

歡迎大家分享一下心得。

<a href="http://files.cnblogs.com/powertoolsteam/DeblectorAddin-1.1.zip">DeblectorAddin-1.1.zip</a>

<a href="http://files.cnblogs.com/powertoolsteam/reflexil.1.1.bin.zip">reflexil.1.1.bin.zip</a>

相關閱讀:

<a href="http://www.cnblogs.com/powertoolsteam/p/net_core_c_sharp.html" target="_blank">是什麼讓C#成為最值得學習的程式設計語言</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/microsoft_20.html" target="_blank">從Visual Studio看微軟20年技術變遷</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/csharp.html" target="_blank">C#開發人員應該知道的13件事情</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/Visual_Studio_2017.html" target="_blank">Visual Studio 2017正式版釋出全紀錄</a>

繼續閱讀