這是一款由Sysinternals開發的Windows系統和應用程序監視工具,目前Sysinternals已經被微軟收購,此款不僅結合了文件監視和注冊表監視兩個工具的功能,還增加了多項重要的增強功能,
此工具支持64位Windows系統很多人可能把這款工具只當成TaskManager(任務管理器)的替代品,其實這樣只能說是高射炮打蚊子,大材小用了,作為windows開發工程師,我極力推薦在編碼和調試過程中使用此工具,
下面介紹一下Process Explorer在開發過程中的用處。
一、Process Explorer的樹形結構界面
1.准確的顯示的進程的父子關系
2.通過顏色可以判斷此進程處於的狀態和類型,是掛起還是正在退出,是服務進程還是普通進程
二、顯示進程的系統信息
1.顯示進程的文件路徑(Image Path)
2.顯示進程命令行參數(Command Line)
3.顯示進程是64位進程還是32位的(Image Type)
4.顯示進程當前所在的Session ID(session ID)
5.顯示進程當前的權限,是系統用戶權限還是網絡管理員權限還是普通管理員權限(User Name)
6.顯示當前進程的Gdi對象個數,內核對象個數,線程個數
右鍵單擊標題欄-選擇Select Columns項,選擇你要觀察進程的某種特定的信息,這里有幾個選項,常用的有Process Image和Process Memory這兩個選項卡,其他的我就不截圖舉例了
三、顯示當前進程所加載的DLL
1.通過這種方式可以觀察,我們的進程是否被其他程序注入DLL
2.通過這種方式了解當前進程使用了那些編程技術,如圖可見當前進程用到了Gdi+
3.可以修改Pane View的選項卡,讓其顯示更多的內容,比如DLL基地址,DLL內存相關信息等
選擇View —> Lower Pane View —> DLLs
四、顯示當前進程所占用的系統資源句柄
1.查看當前進程所占用的資源句柄表
2.可以分析進程的邏輯:如圖當前TeamViewer的服務進程創建了一個Event事件,並且占用一個Log文件
3.可以檢查自己的程序是否有內核句柄泄露
選擇View —> Lower Pane View —> DLLs
五、操控進程以及顯示進程的內部信息(這類信息是屬於當前進程的)
1.可以結束當前進程,或者當前進程樹
2.可以掛起、重啟、從掛其中恢復一個進程
3.查看進程信息(如圖-選擇Properties)
4.可以看到當前進程的用戶組信息
5.可以看到當前進程申請了哪些特權
6.選擇Environment選項卡,可以看到當前進程的環境變量,如果自動化編譯或者使用一些開源軟件,查看其環境變量是很重要的一環。
右鍵單擊進程
六、搜索功能(Ctrl+F)
為什么搜索功能單獨拉出來說呢,我個人覺得這個功能在很多地方都可以用到,編碼的時候可以查看哪個事件被誰占用了,直接搜事件名稱就可以了,如果像刪除一個目錄怎么也刪除不掉,
就是說某某文件被占用,那你可以搜索一下你需要刪除的目錄路徑
如圖:TeamViewer這個文件夾正在被一個服務占用,這樣我只需要把這個服務停止,就可以刪除了,常見的還有U盤被占用不讓卸載等等
如果有需要的朋友可以到這里下載此工具 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx