欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

面向.Net程序員的dump分析-創(chuàng)新互聯(lián)

背景

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比阜寧網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式阜寧網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋阜寧地區(qū)。費(fèi)用合理售后完善,10多年實體公司更值得信賴。

Dump文件是進(jìn)程的內(nèi)存鏡像。可以把程序的執(zhí)行狀態(tài)通過調(diào)試器保存到dump文件中。在 Windows 系統(tǒng)上, dump 文件分為內(nèi)核 dump 和用戶態(tài) dump 兩種。前者一般用來分析內(nèi)核相關(guān)的問題,比如驅(qū)動程序;后者一般用來分析用戶態(tài)程序的問題。

一般的程序員可能接觸不到dump文件,反而是運(yùn)維會用的多一些。不過如果你抗戰(zhàn)在第一線,學(xué)會dump的分析無疑是掌握一柄利器。因為很多場景下,在線下的單元測試或者性能測試中由于測試用例的不充分或者生產(chǎn)與測試環(huán)境的硬件以及pv量級的不同等等情況導(dǎo)致問題暴露不出,而在生產(chǎn)環(huán)境中又沒有足夠的日志或者堆棧信息來指向問題產(chǎn)生的原因。這個時候dump文件的分析就顯得很有作用。

正文分3節(jié) 抓取dump以及dump的手動和自動分析。對于初學(xué)者自動分析dump是很方便的一種渠道。


一. 抓取dump

1. 最簡單的方法 通過任務(wù)管理器

面向.Net程序員的dump分析面向.Net程序員的dump分析

面向.Net程序員的dump分析

2. 通過debugdiag

debugdiag是一個微軟提供的dump抓取和分析工具。可以建立各種規(guī)則在不同的條件下抓取dump,同時具有強(qiáng)大的dump分析功能。

下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=26798

面向.Net程序員的dump分析

面向.Net程序員的dump分析

3. Adplus方式

運(yùn)行 cmd ,進(jìn)入 adplus.exe 文件所在目錄,運(yùn)行如下命令:
單個進(jìn)程: adplus .exe &ndash; hang &ndash; p <PID> &ndash; o d: &yen;
多個進(jìn)程: adplus .exe &ndash; hang &ndash; p <PID1> -p <PID2> &ndash; o d: &yen;
Mini Dump : adplus .exe - MiniOnSecond &ndash; hang &ndash; p <PID> &ndash; o d: &yen; 

抓取方式的選擇:

任務(wù)管理器的抓取適合dump文件不大,對應(yīng)系統(tǒng)盤默認(rèn)存放路徑的空間完全足夠的情況。

debugdiag的抓取可以適應(yīng)多種情況,通過工具的配置來完成。

Adplus解決了任務(wù)管理器抓取方式的限制,可以處理對應(yīng)多個進(jìn)程大文件的情況。


二. dump的手動分析

工具: winbdg

WinDBG不是專門用于調(diào)試.Net程序的工具,它更偏向于底層,可用于內(nèi)核和驅(qū)動調(diào)試。進(jìn)行普通的.Net程序調(diào)試還是使用微軟專為.Net開發(fā)的調(diào)試工具M(jìn)DBG更方便一些。但是WinDBG能看到更多的底層信息,對于某些特別疑難的問題調(diào)試有所幫助,例如內(nèi)存泄漏等問題。

工具下載: WinBdgTool.zip

測試代碼下載 : MyDumpTest.7z

首先添加設(shè)定符號文件路徑(Symbol Path),當(dāng)你使用Visual Studio編譯程序時,是否有留意到在bin/Debug文件夾下會有.pdb后綴的文件?這些文件包含有dll程序集的調(diào)試符號,pdb文件并不包含有執(zhí)行代碼,只是使調(diào)試工具能把代碼執(zhí)行指令翻譯為正確的可識別字符。微軟提供了包含大量pdb文件的公共服務(wù)器,地址如下:http://msdl.microsoft.com/download/symbols。打開windbg程序,選擇&ldquo;File->Symbol File Path&hellip;&ldquo;,把下面的內(nèi)容復(fù)制進(jìn)去保存。srv*c:\temp*http://msdl.microsoft.com/download/symbols。

面向.Net程序員的dump分析

下面這行命令 如果你發(fā)現(xiàn)出現(xiàn)Unable to verify checksum...或者的消息 那是因為你沒有添加.net的sos擴(kuò)展或者sos的版本沒有對應(yīng)上。.Net1.1時代的SOS擴(kuò)展已經(jīng)自帶于下載安裝的WinDBG中,從.Net2.0以后,SOS擴(kuò)展已經(jīng)自帶到.Net框架中:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll,為了不至于引起混淆,最好的方法就是使用前面的loadby調(diào)試器元命令來讓W(xué)inDBG自己決定加載什么版本的SOS。

添加sos:.load C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\sos.dll。

加載SOS后,使用命令.chain來查看調(diào)試鏈中是否已經(jīng)成功包含SOS擴(kuò)展。

面向.Net程序員的dump分析

通過!eeversion查看sos的版本號。

面向.Net程序員的dump分析

實戰(zhàn)命令: ~ 查看線程

面向.Net程序員的dump分析

這表明當(dāng)前dump里記錄的線程數(shù)。如果要切換線程,用波浪線+序號+s來切換,如切換到線程2,那么用~2s即可。

lm 查看你加載的模塊

面向.Net程序員的dump分析

kb 查看native code調(diào)用棧

用~現(xiàn)在只有線程信息,對于每個線程,在被抓的那一刻,在執(zhí)行什么,我們有命令:kb。

面向.Net程序員的dump分析

看到clr大家應(yīng)該很眼熟吧。這里已經(jīng)可以看到較詳細(xì)的調(diào)試信息了。

!runaway    (查看線程對應(yīng) CPU 運(yùn)行時間)

面向.Net程序員的dump分析

因為我們的測試程序是測試的是線程阻塞所以我們選一個運(yùn)行時間為0的,例如415

面向.Net程序員的dump分析

!dso 查看這個堆棧中的對象

面向.Net程序員的dump分析

!clrstack 查看這個線程的托管代碼調(diào)用棧

面向.Net程序員的dump分析

通過上面我們已經(jīng)可以看出這個線程一直都是處于阻塞狀態(tài)。

到這里基本上一個小的測試程序可以告一段落了,當(dāng)然windbg的功能遠(yuǎn)遠(yuǎn)不止如此,這里分享一些資源給大家。

資源下載 : WinDbg入門.rar  Windbg用法詳解.7z


三. dump的自動分析

1. debugdiag

面向.Net程序員的dump分析

面向.Net程序員的dump分析

這里有幾種規(guī)則類型的選擇,一般我們常用的用crash來查看鎖和堵塞的情況,performance來檢查性能的問題。

選擇完成后直接點擊開始分析

面向.Net程序員的dump分析

生成報表

面向.Net程序員的dump分析

查看描述

面向.Net程序員的dump分析

點擊詳細(xì)

面向.Net程序員的dump分析

這樣,紅色字體就是問題的所在。然后根據(jù)具體問題下發(fā)到對應(yīng)開發(fā)部門解決。

2. Hang自動化分析

在WinDbg輸入如下命令

.shell -ci "~* kb;.echo MANAGED THREADS;!threads;.echo MANAGED CALLSTACKS;~* e !clrstack;" D:\xx.exe


本篇先到此 希望對大家有幫助

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

新聞名稱:面向.Net程序員的dump分析-創(chuàng)新互聯(lián)
本文URL:http://chinadenli.net/article38/peopp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、電子商務(wù)動態(tài)網(wǎng)站、企業(yè)建站ChatGPT、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
国产传媒中文字幕东京热| 欧美成人国产精品高清| 激情中文字幕在线观看| 成人午夜视频精品一区| 久久综合日韩精品免费观看| 一区二区三区四区亚洲专区| 欧美一区二区口爆吞精| 免费性欧美重口味黄色| 国产欧美日产久久婷婷| 人妻少妇久久中文字幕久久 | 日韩人妻一区中文字幕| 深夜少妇一区二区三区| 好吊妞视频这里有精品| 国产又色又爽又黄又大| 国产精品99一区二区三区| 欧美日韩综合在线第一页| 亚洲国产色婷婷久久精品| 国产日韩在线一二三区| 国产乱淫av一区二区三区| 日韩人妻有码一区二区| 中文字幕精品一区二区年下载| 午夜传媒视频免费在线观看| 亚洲一区二区三区三区| 激情爱爱一区二区三区| 大香蕉大香蕉手机在线视频| 国产精品欧美激情在线播放| 欧美黑人精品一区二区在线 | 国产精品一区二区成人在线| 亚洲综合日韩精品欧美综合区| 视频在线播放你懂的一区| 男生和女生哪个更好色| 亚洲成人精品免费在线观看 | 91国自产精品中文字幕亚洲| 欧美一级黄片欧美精品| 国产又猛又大又长又粗| 福利视频一区二区在线| 精品少妇一区二区视频| 久久国产青偷人人妻潘金莲| 男女午夜福利院在线观看| 老司机精品线观看86| 午夜精品一区二区av|