.Net reflector兩款神器 Deblector和reflexil
.NET reflector兩款神器,Deblector和reflexil,這兩款插件后會(huì)為我們的進(jìn)程的調(diào)試和dll的代碼的修改帶來(lái)許多方便。但是同時(shí)它們也是有缺點(diǎn)的,希望這篇文章對(duì)大家有所幫助。
Deblector
它的名字是Debug和reflector 兩個(gè)單詞的結(jié)合。就是用來(lái)調(diào)試的。簡(jiǎn)單的說(shuō),它可以像ide一樣啟動(dòng)調(diào)試進(jìn)程,或者Attach到一個(gè)運(yùn)行中的進(jìn)程,并調(diào)試他們,設(shè)置斷點(diǎn),單步運(yùn)行,查看變量等等。它不需要pdb文件,也不會(huì)像reflector pro的調(diào)試插件一樣依賴(lài)ide,也不需要反編譯dll。一切工作僅在reflector內(nèi)部完成,很炫,很cool吧。但并不是說(shuō)沒(méi)有缺點(diǎn),它的缺點(diǎn)就是只能在il級(jí)別調(diào)試。不過(guò)對(duì)于我們調(diào)試bug來(lái)說(shuō),這個(gè)基本已經(jīng)足夠了。
簡(jiǎn)單說(shuō)一下這個(gè)插件的用法。安裝到reflector后, tools菜單下會(huì)多一個(gè)Deblector菜單。
點(diǎn)開(kāi)這個(gè)菜單,就可以打開(kāi)這個(gè)插件了。 這時(shí)reflector的toolbar上會(huì)多出一些button。
這些button的意思就不多說(shuō)了,自己看tooltip。
如果想啟動(dòng)一個(gè)新進(jìn)程調(diào)試的話(huà),可以把exe拖到reflector中, 然后點(diǎn)擊toolbar上的***個(gè)按鈕,就是小三角,就可以自動(dòng)啟動(dòng)這個(gè)exe并進(jìn)入調(diào)試模式。
此時(shí)進(jìn)程啟動(dòng)起來(lái)了,但是會(huì)在main函數(shù)的入口處斷住,等待你的操作,這個(gè)時(shí)候你可以找到你想要設(shè)斷點(diǎn)的方法,F(xiàn)9設(shè)置斷點(diǎn)。
然后點(diǎn)擊小三角或者F7繼續(xù)運(yùn)行程序。然后當(dāng)程序走到斷點(diǎn)的時(shí)候,就能斷住了。
這里要注意一點(diǎn),要設(shè)置斷點(diǎn),必須在程序已經(jīng)斷住的時(shí)候才能設(shè),這就是為什么在程序一開(kāi)始會(huì)自動(dòng)斷在main入口處的原因了。 如果中途還想設(shè)斷點(diǎn),可以點(diǎn)擊暫停按鈕。暫停下來(lái),再設(shè)。 其他的功能自己玩吧。 這個(gè)工具目前好像已經(jīng)停止更新了,我測(cè)試的可以調(diào)試3.5的代碼。4.0的似乎調(diào)不了。
reflexil
簡(jiǎn)單的說(shuō)這個(gè)東東可以用來(lái)修改dll的代碼,并保存成一個(gè)新的dll。按照它自己的說(shuō)法叫做dll注入工具。單看這一點(diǎn)似乎沒(méi)什么。 但這個(gè)插件的功能卻是很強(qiáng)大。我簡(jiǎn)單的說(shuō)一些: 安裝后,會(huì)有這個(gè)菜單,
還有不同的右鍵菜單:
當(dāng)你選中一個(gè)方法的時(shí)候,它能顯示處il代碼以及很多別的信息,這些信息都是可以修改的。
尤其值得一提的是他的 “Replace All will Code” 功能, 點(diǎn)開(kāi)會(huì)出現(xiàn)一個(gè)C# 代碼編輯器, 和當(dāng)前方法的空方法體,然后可以自由書(shū)寫(xiě)代碼。帶智能提示的哦。寫(xiě)完之后點(diǎn)擊 Compile就可以了。 注意這里寫(xiě)代碼似乎要用全名,別的有時(shí)候可能會(huì)出錯(cuò)。
.NET reflector兩款神器Deblector和reflexil其他的功能就不多說(shuō)了,它幾乎可以修改dll中的任何地方,而且對(duì)強(qiáng)名的支持,已及對(duì)強(qiáng)名引用的支持都很強(qiáng)大,有興趣的可以自己試。
【編輯推薦】
- 高性能ASP.NET站點(diǎn)構(gòu)建之簡(jiǎn)單的優(yōu)化措施
- 淺析.NET開(kāi)發(fā)過(guò)程中命名的數(shù)量和人稱(chēng)
- NET開(kāi)源平臺(tái)Mono正式支持F#(附更新列表)
- 探秘.NET 4和Visual Studio 2010中的多核利用
- 構(gòu)建ASP.NET網(wǎng)站十大必備工具