1. 程式人生 > >Windbg Extension NetExt 使用指南 【1】 ---- NetExt 介紹

Windbg Extension NetExt 使用指南 【1】 ---- NetExt 介紹

摘要 : 在使用WINDBG做debugging的時候,需要一個好的工具幫助進行資料分析. 最常見的extension包括SOS, PSSCOR.  NetExt則是另外一種提供了豐富命令功能的debugging extension. NetExt主要用於Managed Code的分析功能, 對ASP.NET, WCF, WIF有良好的支援, 並且提供了很多常用的分析命令. 它涵蓋了SOS以及PSSCOR的絕大部分命令, 並且提供了更為強大的資料探勘的功能. 在這個系列裡面, 我將一一介紹這個功能.

基礎介紹

NetExt Extension是Microsoft公司的員工開發的一款Debugging Extension. 下載地址為 :

http://netext.codeplex.com/

該Extension已經開源, 程式碼地址可以在這裡下載 : http://netext.codeplex.com/SourceControl/latest

NetExt則是另外一種提供了豐富命令功能的debugging extension. NetExt主要用於Managed Code的分析功能, 對ASP.NET, WCF, WIF有良好的支援, 並且提供了很多常用的分析命令. 它涵蓋了SOS以及PSSCOR的絕大部分命令, 並且提供了更為強大的資料探勘的功能.

NetExt Extension 並不需要SOS或者PSSCOR等Extension的支援. 它直接使用.NET debugging API. 下面的步驟將展示如何使用這個非常強大的Extension.

前期準備

基本操作

下面的步驟簡單的Demo一下如何將NetExt Load到WINDBG中, 並且進行一基本的命令呼叫.

1. 開啟已經安裝好的WINDBG.

2. 在WINDBG開啟之後, 點選選單欄的 File –>Open Crash Dump...

3. 開啟一個實驗用的DMP檔案, 點選 Open.

4. DMP 檔案被讀取之後會顯示一些基本的資訊.

image

一般來說, .NET 3.5及其以前的版本, CLR Runtime會讀取mscorwks.dll. .NET 4.0及其以後的版本, CLR Runtime會讀取clr.dll.

要檢查這個情況, 可以執行命令 lmv mclr

或者 lmv mmcorwks

如果沒有包含這個DLL的資訊, 則說明沒有這個對應的CLR Runtime. 例如以下的命令 lmv mclr, 如果沒有任何顯示, 則表示.NET 4.0沒有被Load進來. 相對的, 則應該是.NET 4.0以上版本.

image

image

6. 呼叫命令 .load netext , 就會把NetExt Extension Load進去. 之後才可以使用這個Extension所提供的命令.

image

7. NetExt提供了類似於SOS中!do的命令用於dump 一個object的內容. 可以使用!netext.wdo 這個命令.

image

8. 不僅如此, NetExt提供許多了非常便捷的命令. 例如對於陣列的處理. 在NetExt相對SOS有更好的表現. 例如下面的例子, !NetExt.wdo 命令可以直接將一個三維陣列展現出來. 這一點SOS以及PSSPOR的展現則計較不如人意.

image

image

Sonic Guo

相關推薦

Windbg Extension NetExt 使用指南 1 ---- NetExt 介紹

摘要 : 在使用WINDBG做debugging的時候,需要一個好的工具幫助進行資料分析. 最常見的extension包括SOS, PSSCOR.  NetExt則是另外一種提供了豐富命令功能的debugging extension. NetExt主要用於Managed Code的分析功能, 對ASP.NET

Windbg Extension NetExt 使用指南 2 ---- NetExt 的基本命令介紹

摘要 : 本章節介紹NetExt常用的命令. 並且對SOS進行一些對比. NetExt的幫助 要想玩好NetExt, 入門就得看幫助. 看NetExt的幫助可以呼叫!whelp 命令. 這樣hi列舉出NetExt所支援的所有命令. 0:000> !netext.whelp netext ve

Lua 5.3 -- SOL2.0 用戶指南 1

.com 目錄 了解 詳細 rip set 特定 hub 發送 SOL2.2 是一個快速、簡單的C++與LUA的綁定器。如果確定要在你的程序裏面同時運行Lua和C++,SOL 是一個高性能的綁定器,是一個API使用方便的 GO-TO 框架。 簡單看一下特點:這個鏈接到(

企業IT管理員IE11升級指南1—— Internet Explorer 11增強保護模式 (EPM) 介紹

企業IT管理員IE11升級指南 系列: Internet Explorer 11增強保護模式 (EPM) 介紹 每個Internet Explorer的新版本,都會引入新的安全增強機制,以幫助使用者更安全地瀏覽Internet。增強保護模

Fiddler抓包1_介紹及界面概述

緩存 沒有 user 編輯器 主菜單 selected ble bar 文件格式 一、 主要抓包工具介紹與對比 1、Wireshark :通用抓包工具,抓取信息量龐大,需要過濾才能得到有用信息,只抓HTTP請求有點大財小用。 2、Firebug、HttpWatch等We

Windbg Extension NetExt 使用指南 3 ---- 挖掘你想要的資料 Managed Heap

摘要 : NetExt中有兩個比較常用的命令可以用來分析heap上面的物件. 一個是!wheap, 另外一個是!windex. !wheap 這個命令可以用於打印出heap structure資訊. heap 上 object彙總後的資訊. 這個命令也可以按照一些條件過濾出objects, 不過執行速度比

企業IT管理員IE11升級指南7—— Win7和Win8.1上的IE11功能對比

企業IT管理員IE11升級指南 系列: Win7和Win8.1上的IE11功能對比 在 HTML5 視訊、觸控支援、裝置和螢幕方向 API、Windows 整合和效能方面,Windows 8.1 上的 Internet Explorer 

《WebGL程式設計指南》---從示例程式碼中學習WebGL之初識1

寫在前面  筆者希望學習WebGL很久了,但是鑑於種種的事一直沒有開展,恰好研究生複試過了,在這空檔時間段內想學一門新技術,於是想到了WebGL,經前同事推薦,果斷買了《WebGL程式設計指南》這本書,於是,我的學習之旅就開始了。對於程式設計人員來說,案例程式碼是最好的教科書

Unity3d修煉之路:遊戲開發中,3d數學知識的練習1(不斷更新.......)

turn tor rdo pre 長度 scrip 縮放 unity3d float #pragma strict public var m_pA : Vector3 = new Vector3(2.0f, 4.0f, 0.0f); public var m_pB :

1從零開始做第三方支付開發-----初步了解概念

用例 深入 hub 編寫 不知道 了解 程序員 系列 bsp 這是第三方支付開發的第一篇. 目前很多公司在做海外支付, 但是不知道怎麽開始. 本人公司就是做海外產品, 涉及到paypal和stripe支付, 有比較多的經驗, 希望可以幫助需要的朋友. 我是做Java開發,

Spring-Security1認證和授權

部分 完整 業務 代碼 參數 web 用戶訪問 設置 管理權限 【認證】 憑據為基礎的認證: 當你登錄 e-mail 賬號時,你可能提供你的用戶名和密碼。E-mail的提供商會將你的用戶名與數據中的記錄進行匹配,並驗證你提供的密碼與對應的記錄是不是匹配。這些憑證(用戶名和

1JVM-內存模型

也會 安全性 編譯器 結構 cati local 狀況 本地方法棧 處理 本篇其實就是一個讀書筆記,書是《深入理解JAVA虛擬機》,在網上搜索JAVA內存,說的比較好的其實很多都源自這本書,作為一個JAVA程序員,理解虛擬機是通向高級程序員的必經道路。本篇中的圖片源自當時網

python學習記1

需要 靈活 執行 print 變量 信息 多說 格式 感謝 本人是個滲透小子 從開始接觸滲透已經將近四年了 現在目標就是python的學習與應用 今天聽了老男孩的python的課程所以心血來潮就來寫個文章 今天的內容很是多 主要學習了有幾個塊 1、 用戶的交互 使用inp

暑假NOIP期末考試1—— Phantom

ade 快的 while num eas for 靈感 搜索 時間復雜度 Phantom ?題目名稱: phantom ?時間限制:1 秒 ?空間限制:256 MiB 題目描寫敘述 在一個無限大的棋盤上。排列著 n * n 枚棋子,形成一

1000行代碼徒手寫正則表達式引擎1--JAVA中正則表達式的使用

基礎上 unicode 要求 [1] 分配 find 通過 images char 簡介: 本文是系列博客的第一篇,主要講解和分析正則表達式規則以及JAVA中原生正則表達式引擎的使用。在後續的文章中會涉及基於NFA的正則表達式引擎內部的工作原理,並在此基礎上用1000行左右

Android自己定義組件系列1——自己定義View及ViewGroup

全部 int ++ btn -i pre 剪切 final 界面 View類是ViewGroup的父類,ViewGroup具有View的全部特性。ViewGroup主要用來充當View的容器。將當中的View作為自己孩子,並對其進行管理。當然孩子也能夠是ViewGrou

JSP基本語法總結1(jsp工作原理,腳本元素,指令元素,動作元素)

ins 檢驗 welcome 域配置 ces 跳轉頁面 classes filter java代碼   時隔半年,回頭對jsp復習整理一下,溫故而知新。 jsp工作原理:   jsp服務器管理jsp頁面分兩個階段:轉換階段(translation phase)和執行階段

Nginx--1http代理和反向代理

nginx【1】代理服務;是一個位於客戶端和原始服務器之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。【2】反向代理:用戶某個服務器他是偷偷從另外一臺服務器上取回來

對js操作html的實踐1——實現網頁假崩潰吸引網友註意力

code 自己 頁面 註意力 size mat pre fun hidden 前些天逛網站的時候,發現了一些好玩的細節:當網頁失去焦點後標題顯示網頁崩潰,這將使得瀏覽者重新點回網頁。 來自ANOTHERHOME(https://www.anotherhome.net/)與晨

機器學習-常見問題積累1

屬性。 積累 兩種 所在 哪些 異常 缺失值 問題 推導 1、python和R在做數據分析時各有自己得擅長得領域,如python做時域分析得難度就遠遠比R大,因為R有非常成熟得Package! 2、數據處理:如何處理缺失數據?各種處理方法得的利弊? 3、數據處理:如何將類別