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