[電子報封存 ^][< 第 6 卷,第 1 期][第 7 卷,第 1 期 >]

Systems Internals 電子報第 6 卷第 2 期

http://www.sysinternals.com
版權所有 (C) 2004 Mark Russinovich


2004 年 7 月 30 日 - 本期內容:

  1. 編輯

    • Dave Solomon 關於使用 Process Explorer 深入了解執行緒詳細資訊的客座文章
  2. SYSINTERNALS 最新動態

    • 工具更新
    • Sysinternals 是 Microsoft Windows XP 社群網站
  3. 徵集 SYSINTERNALS 成功案例

    • 向我們傳送您的成功故事並贏得 Sysinternals T 恤!
  4. 雜誌文章

    • PsExec
    • 記憶體最佳化騙局
  5. 實際操作 WINDOWS 內部和進階疑難解答類別

    • 舊金山 - 9 月 27 日至 10 月 1 日
  6. MARK 的演講排程

    • TechMentor
    • Windows 連線
    • Microsoft IT 論壇

Sysinternals 電子報由 Winternals Software 贊助,網址為:http://www.winternals.com. Winternals 為 Microsoft 企業提供智慧型復原。

即將發行的 Windows XP Service Pack 2 將帶來許多優勢,但可能會導致作業系統和應用程式內出現不必要或未預期的行為。 Winternals 復原管理員可讓您安全、快速地回復受到修補程式和 Service Pack 負面影響的系統,即使系統已變得無法開機也一樣。 若要了解更多有關復原管理員的資訊並索取評估 CD,請造訪:http://www.winternals.com/es/solutions/recoverymanager.asp

編輯

Dave Solomon 和我仍在努力撰寫下一版《Inside Windows 2000》(稱為《Windows Internals》,第 4 版),並期望在接下來的幾週內完成手稿。 該書涵蓋 Windows 2000、Windows XP 和 Windows Server 2003,與第三版相比增長約 20%。 我們認為這本書比之前的版本更有價值,因為除了擴充現有資料並新增新文字以涵蓋 XP 和 2003 的變更之外,我們還新增了損毀傾印分析、系統啟動、記憶體、CPU、檔案系統和登錄等主題的疑難排解資料。

因為我把時間集中在完成這本書上,所以這份電子報很簡短,但一旦這本書完成,我將繼續定期發佈電子報。 同時,我還收錄了 Dave Solomon 的客座文章,介紹比我在上一篇電子報中更進階的 Process Explorer 使用方法。

盡情閱覽電子報並轉發給您認為會感興趣的人!

  • Mark Russinovich

使用 Process Explorer 深入了解執行緒活動

作者:Dave Solomon (daves@..., http://www.solsem.com)

Process Explorer 可以輕鬆存取處理序內的執行緒活動。 如果您常識判斷裝載多個服務 (例如 Svchost.exe、Dllhost.exe、Inetinfo.exe 或系統處理序) 的處理序為何正在執行或處理序為何停止回應,這尤其重要。

若要查看處理序中的執行緒,請選擇一個處理序並開啟處理序屬性 (按兩下處理序,或按一下 [處理序] -> [屬性] 功能表項目),然後按一下 [執行緒] 標籤。這會顯示處理序中的執行緒清單、耗用的 CPU 百分比 (根據設定的重新整理間隔)、執行緒的內容切換次數,以及執行緒啟動位址。 您可以按這三個資料列中的任一列進行排序。 當您選擇清單中的每個執行緒時,Process Explorer 將顯示執行緒 ID、開始時間、狀態、CPU 時間計數器、內容切換次數,以及基本和目前優先順序。 有一個 [終止] 按鈕可以終止個別執行緒,但使用時應格外小心。

已建立的新執行緒會以綠色醒目提示,結束的執行緒會以紅色醒目提示 (持續時間可以使用 [選項] ->[設定醒目提示] 功能表項目進行設定)。 這可能有助於發現處理序中發生的不必要的執行緒建立 (通常,執行緒應該在處理序啟動時建立,而不是每次在處理序內處理要求時建立)。

內容切換差異是表示執行緒在為 Process Explorer 設定的重新整理之間開始執行的次數,並且是判斷執行緒活動與 CPU 耗用百分比不同的方式,由於許多執行緒執行的時間很短,因此當間隔時脈計時器中斷發生時,它們很少 (如果有的話) 是目前正在執行的執行緒,因此不會要求 CPU 時間。

執行緒開始位址以「module!function」形式顯示,其中 module 是 .EXE 或 .DLL 的名稱。 函式名稱依賴於對模組符號檔案的存取,如果您將 Process Explorer 設定為使用 Microsoft 符號伺服器,便會取得符號檔案 (請參閱包含 Microsoft Debugging Tools for Windows 的說明,您可以從 Microsoft 網站 http://www.microsoft.com/whdc/devtools/debugging/default.mspx). 下載 如果您不確定模組是什麼,請按下模組按鈕。 這會開啟包含執行緒開始位址的模組的 Explorer 檔案屬性視窗 (例如.EXE 或.DLL)。 針對 Windows CreateThread 函式建立的執行緒,Process Explorer 會顯示傳遞給 CreateThread 的函式,而不是實際的執行緒啟動函式。 這是因為所有 Windows 執行緒都從一般處理序或執行緒啟動包裝函式 (Kernel32.dll 中的 BaseProcessStartBaseThreadStart) 啟動。 如果 Process Explorer 顯示實際的開始位址,則處理序中的大多數執行緒似乎都是在同一位址啟動,這在嘗試了解執行緒正在執行的程式碼時不會有幫助。

然而,顯示的執行緒開始位址可能不足以確定執行緒正在執行的動作,以及處理序中的哪個元件負責執行緒耗所用的 CPU。 如果執行緒開始位址是泛型啟動函式 (例如,如果函式名稱未指出執行緒實際執行的動作),則尤其如此。 在這種情況下,檢查執行緒堆疊可能會是問題的解答。 如要查看執行緒的堆疊,請按兩下感興趣的執行緒 (或選擇後按 [堆疊] 按鈕)。 Process Explorer 會顯示執行緒的堆疊 (如果執行緒處於核心模式,則同時顯示使用者堆疊和核心堆疊)。 雖然使用者模式偵錯工具 (Windbg、Ntsd 和 Cdb) 可讓您附加到處理序,並顯示執行緒的使用者堆疊,但 Process Explorer 只需按一個按鈕即可顯示使用者堆疊和核心堆疊。 您也可以使用 Sysinternals 的 Livekd 來檢查使用者和核心執行緒堆疊,但較難使用;請注意,在本機核心偵錯模式下執行 Windbg 不會顯示執行緒堆疊,僅有 Windows XP 或 Windows Server 2003 上支援此功能。

[Mark 個人註解 - 這讓我了解 Powerpoint 每次啟動時都會停止回應一分鐘的原因。 我使用 Process Explorer 查看 Powerpoint 處理序中一個執行緒堆疊;它正在等待呼叫以連接到網路印表機;原來是我與網路印表機的連線沒有回應,並且因為 Microsoft Office 應用程式在處理序啟動時會連線到所有已設定的印表機,因此 Powerpoint 會「靜止」一段時間,直到嘗試連線到印表機逾時為止。在我刪除與印表機的連線後,問題就消失了。]

SYSINTERNALS 最新動態

工具更新

自上一份在四月發佈的電子報以來,許多工具都更新了。 以下是增強功能的摘要:

處理序總管

Process Explorer 是任務管理員的替代方案 (您甚至可以使用 Process Explorer [選項] 功能表中的選項,來完全取代任務管理員)。

  • 處理序屬性上的 TCP/IP 索引標籤會顯示 TCP 和 UDP 連線;變更以顏色醒目提示,可以輕鬆查看新的和已關閉的連線
  • AMD64 系統的 64 位元版本
  • 支援在 SMT 上設定處理序親和性遮罩 (超執行緒) 和 SMP 系統
  • 顯示更新效能增強功能

http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

DebugView

DebugView 是一個開發人員公用程式,可讓您擷取使用者模式和核心模式偵錯輸出,而無需在本機或透過網路進行偵錯工具。

  • 較大的核心模式和使用者緩衝區
  • 更多醒目提示篩選器
  • 記錄檔包裝
  • 支援 Windows XP SP2 核心偵錯輸出
  • 當看到特殊的「清除輸出」偵錯字串時清除輸出

http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

Pendmoves

Pendmoves 是一種新的 Sysinternals 公用程式,可顯示已排程在系統上進行下次開機時執行的檔案移動和刪除命令。

http://www.sysinternals.com/ntw2k/source/misc.shtml#pendmoves

Adrestore

Adrestore 是一種命令列公用程式,它利用 Windows Server 2003 Active Directory (AD)「邏輯刪除」為 AD 物件提供有限的取消刪除功能。

http://www.sysinternals.com/ntw2k/source/misc.shtml#adrestore

Bluescreen 螢幕保護程式

此螢幕保護程式模擬當機藍色螢幕,現在支援多顯示器系統和 Windows Server 2003。

http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml

LogonSessions

這個新的命令列公用程式會顯示系統上的登入工作階段清單,包括網路、互動式和批次,也顯示每個工作階段中執行的處理序。

http://www.sysinternals.com/ntw2k/source/misc.shtml#logonsessions

Pstools

Pstools 套件由 11 個可在本機和遠端運作的管理命令列工具組成。 在過去幾個月中,其中有許多系統都進行了更新,以包含可在命令列或文字檔案中指定的多部電腦系統的支援。

http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

Autoruns

Autoruns 會顯示最完整的 Windows 登錄和檔案系統位置清單,以便應用程式用來設定在開機程式期間自動啟動。

  • 檔案系統和登錄位置現在跨越多個資料行,以便容易閱讀
  • 僅顯示非 Microsoft 項目的選項,可讓您輕鬆查看登入時已設定為啟動的非 MS 軟體
  • 現在可以停用項目,而不將其從登錄中刪除 (使 Autoruns 現在成為 Msconfig 的超集合)
  • 顯示在開機時設定為啟動服務的選項

http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml

除了工具更新之外,還有技術文章的更新:

Boot.ini 選項參考

此參考現在包含 Windows XP 和 Windows Server 2003 中新增的 boot.ini 參數。

http://www.sysinternals.com/ntw2k/info/bootini.shtml

SYSINTERNALS 是 MICROSOFT WINDOWS XP 社群網站

Sysinternals 多年來一直是 Microsoft.com 上的 Windows XP Embedded 社群網站,現在我很自豪地宣布 Microsoft 也已將 Sysinternals 設為 Windows XP 專家區頁面上的社群網站:

http://www.microsoft.com/windowsxp/expertzone/default.mspx

徵集 SYSINTERNALS 成功案例!

我的研討會和會議簡報中的觀眾喜歡聽到真實的成功案例,因此,如果您使用 Sysinternals 工具進行疑難排解,我會很樂意聽到您的分享。 在您透過 mark@... 寄給我時,我將讓您參加每月抽獎活動,以贏得一件限量版 Sysinternals T 恤。 請盡可能詳盡說明您如何使用 Sysinternals 工具來解決問題,並在可能和適用的情況下,傳送螢幕擷取畫面和/或記錄檔 (Filemon 和 Regmon 都可以將輸出儲存至文字檔案)。

雜誌文章

Psexec

我為 7 月發行撰寫的文章目前僅開放給 Windows 和 .NET 雜誌的訂閱者觀看。 它涵蓋了 Psexec 的進階使用方式,並說明了其運作方式。以及如何與 Windows 安全性互動。

http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

記憶體最佳化騙局

在這本向非訂閱者開放的 Windows 和 .NET 雜誌中,我的文章說明了所謂的「RAM 最佳化工具」的欺騙行為。

http://www.winnetmag.com/Windows/Article/ArticleID/41095/41095.html

實際操作 Windows 內部原理與進階疑難排解課程

2004 年 9 月 27 日至 10 月 1 日 - 舊金山

大衛·所羅門和我第一次向公眾開放,在三藩市,2004 年 9 月 27 日至 10 月 1 日,我們展示了 5 天的 Windows 2000/XP/2003 內部和進階疑難解答課程實際操作版本。 (與會者必須攜帶自己的筆記型電腦;設定詳細資訊將提前提供 - 無需購買額外的軟體)。

這與我們向世界各地的 Microsoft 員工教導的課程相同。 它涵蓋進程和線程的內部、線程排程、記憶體管理、安全性、登錄和 I/O 系統。 深入探討系統線程、系統呼叫分派、中斷處理和啟動和關機等機制。 了解使用 Sysinternals 工具的進階疑難排解技術,以及如何執行損毀傾印分析。

為什麼要參與這門課? 如果您是部署和支援 Windows 伺服器和工作站的 IT 專業人員,那麼您必須能在出現問題時深入探究問題的根源。 了解 Windows 作業系統的內部原理,並了解如何使用進階疑難排解工具,將幫助您更有效地處理此類問題,並了解系統效能問題。 瞭解內部原理可以幫助程式設計人員善用 Windows 平台,並提供進階的偵錯技術。 由於課程使用完整存取 Windows 核心原始程式碼,並且透過開發人員進行開發,因此您會知道您正在了解實情。

欲了解詳情和報名,請訪問

http://www.sysinternals.com/troubleshoot.shtml

MARK 的演講排程

在 5 月和 6 月在 Microsoft TechEd US 和 TechEd Europe 上發表演講後,我正在陽光普照的德州家中享受夏天。 以下是我接下來的三場會議演講:

TECHMENTOR

2004 年 9 月 27 日至 10 月 1 日加州聖荷西

我將在本次 9 月 29 日的會議上主持四場會議,其中包括「Windows 和 Linux:兩個核心的故事」作為主題演講。 我將主持的其他會議包括「Windows 停止回應和損毀傾印分析」、「Windows XP 和 Windows Server 2003 核心變更」以及「針對 Windows 開機和啟動進行疑難排解」。

您可以閱讀我的摘要,並找到會議註冊頁面的連結:

http://www.sysinternals.com/ntw2k/info/talk.shtml

WINDOWS 連線

2004 年 10 月 24 日至 27 日,於佛羅裡達州奧蘭多

在本次會議上,我將在全體會議上發表「針對 Windows 開機和啟動進行疑難排解」演講,並將在 24 日同時發表「使用 Sysinternals 工具對 Windows 進行疑難排解」(我很自豪地說,Microsoft Network - MSN - 已邀請我在本週於西雅圖舉行的年度 MSN 工程卓越研討會上出席為期一天的 Windows 疑難排解研討會。

閱讀摘要並造訪會議網站

http://www.sysinternals.com/ntw2k/info/talk.shtml

MICROSOFT IT 論壇

丹麥哥本哈根

我將與 Dave Solomon 一起主持為期一天的會前教程課程,討論 Windows 核心安全性內部原理,以及一些尚未確定的分組會議。 您可以在 http://www.microsoft.com/europe/msitforum/ 找到會前教學摘要和註冊資訊


感謝您閱讀 Sysinternals 電子報。

發表於 2004 年 7 月 30 日星期五下午 4:39,發佈人:ottoh

[電子報封存 ^][< 第 6 卷,第 1 期][第 7 卷,第 1 期 >]