2015-06-12 16:37:30
分類(lèi):系統(tǒng)輔助星級(jí):軟件大?。?i>5.81MB
平臺(tái):WinXp,Win2003,WinVista,Win 7,Win 8,Win 10
這是一款由Sysinternals開(kāi)發(fā)的Windows系統(tǒng)和應(yīng)用程序監(jiān)視工具,目前Sysinternals已經(jīng)被微軟收購(gòu),此款不僅結(jié)合了文件監(jiān)視和注冊(cè)表監(jiān)視兩個(gè)工具的功能,還增加了多項(xiàng)重要的增強(qiáng)功能,此工具支持64位Windows系統(tǒng)。
很多人可能把這款工具只當(dāng)成TaskManager(任務(wù)管理器)的替代品,其實(shí)這樣只能說(shuō)是高射炮打蚊子,大材小用了,作為windows開(kāi)發(fā)工程師,我極力推薦在編碼和調(diào)試過(guò)程中使用此工具,下面介紹一下Process Explorer在開(kāi)發(fā)過(guò)程中的用處。
一、Process Explorer的樹(shù)形結(jié)構(gòu)界面
1.準(zhǔn)確的顯示的進(jìn)程的父子關(guān)系
2.通過(guò)顏色可以判斷此進(jìn)程處于的狀態(tài)和類(lèi)型,是掛起還是正在退出,是服務(wù)進(jìn)程還是普通進(jìn)程。
二、顯示進(jìn)程的系統(tǒng)信息
右鍵單擊標(biāo)題欄-選擇Select Columns項(xiàng),選擇你要觀察進(jìn)程的某種特定的信息,這里有幾個(gè)選項(xiàng),常用的有Process Image和Process Memory這兩個(gè)選項(xiàng)卡,其他的我就不截圖舉例了!
2.顯示進(jìn)程命令行參數(shù)(Command Line)
3.顯示進(jìn)程是64位進(jìn)程還是32位的(Image Type)
4.顯示進(jìn)程當(dāng)前所在的Session ID(session ID)
5.顯示進(jìn)程當(dāng)前的權(quán)限,是系統(tǒng)用戶(hù)權(quán)限還是網(wǎng)絡(luò)管理員權(quán)限還是普通管理員權(quán)限(User Name)
6.顯示當(dāng)前進(jìn)程的Gdi對(duì)象個(gè)數(shù),內(nèi)核對(duì)象個(gè)數(shù),線程個(gè)數(shù)。
三、顯示當(dāng)前進(jìn)程所加載的DLL
選擇View —> Lower Pane View —> DLLs
1.通過(guò)這種方式可以觀察,我們的進(jìn)程是否被其他程序注入DLL
2.通過(guò)這種方式了解當(dāng)前進(jìn)程使用了那些編程技術(shù),如圖可見(jiàn)當(dāng)前進(jìn)程用到了Gdi+
3.可以修改Pane View的選項(xiàng)卡,讓其顯示更多的內(nèi)容,比如DLL基地址,DLL內(nèi)存相關(guān)信息等
四、顯示當(dāng)前進(jìn)程所占用的系統(tǒng)資源句柄
選擇View —> Lower Pane View —> DLLs
1.查看當(dāng)前進(jìn)程所占用的資源句柄表
2.可以分析進(jìn)程的邏輯:如圖當(dāng)前TeamViewer的服務(wù)進(jìn)程創(chuàng)建了一個(gè)Event事件,并且占用一個(gè)Log文件
3.可以檢查自己的程序是否有內(nèi)核句柄泄露。
五、操控進(jìn)程以及顯示進(jìn)程的內(nèi)部信息(這類(lèi)信息是屬于當(dāng)前進(jìn)程的)
右鍵單擊進(jìn)程
1.可以結(jié)束當(dāng)前進(jìn)程,或者當(dāng)前進(jìn)程樹(shù)
2.可以掛起、重啟、從掛其中恢復(fù)一個(gè)進(jìn)程
3.查看進(jìn)程信息(如圖-選擇Properties)
1.可以看到當(dāng)前進(jìn)程的用戶(hù)組信息
2.可以看到當(dāng)前進(jìn)程申請(qǐng)了哪些特權(quán)
選擇Environment選項(xiàng)卡,可以看到當(dāng)前進(jìn)程的環(huán)境變量,如果自動(dòng)化編譯或者使用一些開(kāi)源軟件,查看其環(huán)境變量是很重要的一環(huán)。
六、搜索功能(Ctrl+F)
為什么搜索功能單獨(dú)拉出來(lái)說(shuō)呢,我個(gè)人覺(jué)得這個(gè)功能在很多地方都可以用到,編碼的時(shí)候可以查看哪個(gè)事件被誰(shuí)占用了,你直接搜事件名稱(chēng)就可以了,如果你像刪除一個(gè)目錄怎么也刪除不掉,就是說(shuō)某某文件被人占用,那你可以搜索一下你需要?jiǎng)h除的目錄路徑
如圖:TeamViewer這個(gè)文件夾正在被一個(gè)服務(wù)占用,這樣我只需要把這個(gè)服務(wù)停止,就可以刪除了,常見(jiàn)的還有U盤(pán)被占用不讓卸載等等!