婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > .NET程序調試技巧(一):快速定位異常的一些方法

.NET程序調試技巧(一):快速定位異常的一些方法

熱門標簽:t3出行地圖標注怎么做 寧夏機器人電銷 關于宗地圖標注技術規范 河北網絡回撥外呼系統 外呼電銷機器人軟件 河南語音外呼系統公司 400免費電話怎么辦理 威海電銷 400電話辦理最優質

作為一個程序員,解BUG是我們工作中常做的工作,甚至可以說解決問題能力是一個人工作能力的重要體現。因為這體現了一個程序員的技術水平、技術深度、經驗等等。

那么在我們解決BUG的過程中,定位問題是非常重要的。有句話叫"發現問題是解決問題的一半。

本文講述就快速定位異常(專指.NET程序異常)的方法。包括在本機定位異常,在客戶環境定位.net程序異常,在客戶環境定位SilverLight異常。

一:定位本機異常

在我們本機定位異常很容易。假設我們都是使用的的VisualStudio,那么只需要在調試->異常菜單中將Common Langeuage Runtime Exception(CLR異常)勾選。如下圖:

                       

在上面的圖片中可以發現有5種類型的異常,例如c++異常、win32異常等等。對于.NET程序來說我們只關注CLR異常。

接下來進行調試,當自己的程序代碼中有異常的時候,VS就會自動定位到異常的位置。

我們可以看到異常的詳細信息,并且可在調用堆棧窗口中看到 程序的堆棧信息。在堆棧信息中我們可以看到在哪個類、哪個函數中出的錯,如下圖:

 

調試程序有兩種方式,一種是用VS直接啟動程序,另一種是附加到進程。

 

 

附加到進程的時候,程序類型不要選錯了,我使用的是.net4.0 所以程序類型選擇的是 托管(4.0版)代碼。

另外附加到進程有個快捷鍵是 Ctrl+Alt+P。

但是如果異常不是你的代碼中拋出的,那么如何定位呢?

可以打開 調試 菜單下面的 選項和設置,將 啟用"僅我的代碼" 這一項取消勾選。那么別人代碼中的異常就可以拋出了。

 

二:在客戶環境定位.net程序異常:

我們的程序最后都會運行在客戶的環境中,客戶環境上不會有VS這樣的開發工具,那么怎么辦呢?

我們可以使用一個很小巧的命令行調試工具Mdbg.exe,這個工具是安裝VS的時候附帶安裝的,僅能調試.net托管代碼。

Mdbg.exe其實有很多功能,不過本文只講它定位異常的功能,后續文章會講使用Mdbg.exe單步調試的方法。

Mdbg.exe命令詳細介紹可以 輸入 h(help) 或者? 名來查看,也可以看下面的鏈接,

http://msdn.microsoft.com/zh-cn/ms229861(vs.80).aspx#

根據CLR版本的不用,Mdbg.exe也是有多個版本的。

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\Mdbg.exe用于調試

CLR2.0(對應net2.0,3.0,3.5)程序。

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\Mdbg.exe用于調試CLR4.0程序(對用.net4.0)。

另外Mdbg.exe有一個依賴DLL 叫做MdbgCore.dll。我們可以直接將相應版本的Mdbg.exe和MdbgCore.dll拷貝到客戶機器上使用。

沒有安裝VS的朋友可以拷貝我自己封裝的一個安裝包 http://xiazai.jb51.net/201506/other/U8DebugSetup.rar,這里面除了Mdbg.exe還有一些其他組件我們后面的文章會用到。

默認會安裝在 C:\Program Files\U8Debug。

Mdbg.exe的使用方法很加簡,雙擊打開它,然后輸入 a(attach顯示附加的進程),回車,這時會列表所有可以附加的進程。

 

PID 表示進程標識,

輸入a 11940 附件到 ConsoleApplication2.ex示例程序。

這時程序會中斷執行,我們在這個時機可以做一些設置。讓程序在遇到異常時自動中斷。

輸入命令 ca (catch)查看當前調試器遇到哪些事件會中斷。

 

可以看到 Exception對應的是Igonre all exception ,也就是忽略所有異常,發生異常時不會中斷。

輸入命令 ca ex 這樣調試器遇到異常時就會中斷了。

再次輸入ca 命令會看到 Exception對應的值已經變為Stop on all exception了。這時遇到任何異常都會中斷了。

 

輸入命令 g 讓程序繼續執行。

當遇到異常時會自動中斷到調試器,如下圖:

 

入命令 w(where,程序運行到哪里了) 可以查看異常堆棧信息

 

三:在客戶環境定位SilverLight異常

如果客戶的silverlight應用服務器部署在外網,那么我們可以直接用瀏覽器訪問該silverlight站點,然后用VS附加到瀏覽器進程來調試。

 

調試方法比調試普通.net程序一樣。

但是如果,客戶的Silverlight服務器是部署在內網,那么你只能在客戶機器上調試了。

并且Mdbg.exe也幫不了你了,它不能調試Silverlight程序。

我們還有另一個著名的調試工具Windbg。體積大概有不到20M,很容易安裝到客戶機,安裝包大家可以到網上自己下載。windbg分為32位和64位兩個版本,

調試32位的程序請使用32位windbg,反之則要使用64位的windbg,具體為什么我們不用深究,記住了就可以了。

相比Mdbg.exe的小巧實用,Windbg顯然強大的多,但是使用起來也復雜一些。

Windbg其實可以調試很多種類型的程序,例如普通.NET程序,c++等。但是本文只講解使用windbg定位異常的方法。

首先我們使用IE瀏覽器打開silverlight應用程序,然后打開windbg附件到IE進程來調試。附加進程的方式可以通過File菜單下的Attach to a process或者使用F6快捷鍵。

 

附件進程后 程序會中斷到調試器,這個時候我們需要做兩個設置。

一個是 設置程序發生異常時讓其中斷到調試器,設置方法是打開debug菜單下的Event Filter,將CLR異常設置其為enable。

 

另外需要加載調試器擴展,使用過windbg的朋友都知道調試.net程序需要加載一個調試器擴展sos.dll。這個sos.dll也有一個Silverlight版本的。

位置在silverlight的安裝目錄 C:\Program Files (x86)\Microsoft Silverlight\5.1.10411.0\sos.dll。

我們再command窗口中輸入 .load C:\Program Files (x86)\Microsoft Silverlight\5.1.10411.0\sos.dll 來加載它。

之后輸入命令 g 來回復程序的執行。當發生異常時就會中斷到調試器中。

發生異常是我們可以使用!pe(print exception) 來查看異常信息。如下圖:

 

如果想查看堆棧信息的話可以輸入命令 !clrstack

通過上述方法基本可以定位所有的.NET異常。至此,本文結束。

標簽:固原 咸寧 淮北 廣元 賀州 吉林 樂山 池州

巨人網絡通訊聲明:本文標題《.NET程序調試技巧(一):快速定位異常的一些方法》,本文關鍵詞  .NET,程序,調試,技巧,一,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.NET程序調試技巧(一):快速定位異常的一些方法》相關的同類信息!
  • 本頁收集關于.NET程序調試技巧(一):快速定位異常的一些方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品三级视频| 在线精品视频一区二区| 91浏览器入口在线观看| 欧美激情一区二区三区不卡| 国产美女在线观看一区| 亚洲日本一区二区三区| 99久久精品国产精品久久| 《视频一区视频二区| 色94色欧美sute亚洲线路二| 亚洲国产成人av| 日韩欧美国产一区在线观看| 国产成人综合在线观看| 中文字幕一区二区视频| 欧美伊人精品成人久久综合97| 亚洲精品久久嫩草网站秘色| 精品视频色一区| 另类调教123区| 中文字幕一区在线观看| 欧美日本视频在线| 国产成人午夜片在线观看高清观看| 亚洲欧洲99久久| 欧美一区二区三区视频| 成人爱爱电影网址| 日韩精品免费专区| 国产精品丝袜久久久久久app| 在线一区二区三区四区| 国产精品18久久久久久久久| 亚洲与欧洲av电影| 国产亚洲一本大道中文在线| 欧美日韩一区二区在线观看| 成人精品在线视频观看| 青草av.久久免费一区| 日韩毛片精品高清免费| 久久久久久久久久电影| 91麻豆精品国产自产在线观看一区| 国产精品996| 秋霞av亚洲一区二区三| 亚洲综合成人在线| 欧美激情一区三区| 欧美不卡激情三级在线观看| 欧美在线|欧美| 91亚洲精品久久久蜜桃网站| 91麻豆精品国产91久久久久| 国产成人免费视频一区| 狠狠色丁香婷综合久久| 天天色天天操综合| 午夜伊人狠狠久久| 亚洲激情自拍视频| 国产精品久久久久毛片软件| 欧美va在线播放| 91精品久久久久久久99蜜桃| 欧美日韩国产大片| 97成人超碰视| eeuss鲁片一区二区三区在线看| 国产乱一区二区| 国产制服丝袜一区| 国产一区中文字幕| 国产91在线|亚洲| 国产很黄免费观看久久| 国产精品一区二区无线| 国产激情一区二区三区四区| 久久99精品国产91久久来源| 国内外成人在线视频| 狠狠色狠狠色合久久伊人| 久久99精品国产| 国产999精品久久| 99精品视频一区二区三区| 99久久久久久99| 在线视频国产一区| 欧美精品aⅴ在线视频| 91精品国产免费| 久久亚洲影视婷婷| 国产精品久久久久久户外露出 | 精品亚洲porn| 蜜桃久久精品一区二区| 精品制服美女丁香| 国产成人亚洲精品狼色在线| www.日韩在线| 欧美日韩一区二区三区在线| 日韩亚洲欧美在线| 久久精品男人的天堂| 国产精品美女久久久久久2018| 亚洲欧美电影院| 日韩不卡一区二区三区| 国产精品影视在线观看| 91免费看视频| 91精品欧美综合在线观看最新| 精品国产91亚洲一区二区三区婷婷| 亚洲成av人片| 美女任你摸久久| 高清不卡在线观看| 欧洲精品在线观看| 2023国产精品视频| 日韩一区有码在线| 欧美aaa在线| 色婷婷亚洲综合| 精品国产免费视频| 樱花草国产18久久久久| 精品综合久久久久久8888| 日本韩国精品在线| 国产午夜精品久久久久久免费视| 午夜精品久久久久久久久久久 | 成人欧美一区二区三区白人| 天天综合天天做天天综合| 丁香激情综合国产| 制服丝袜日韩国产| 成人免费在线视频| 国产中文一区二区三区| 欧美日韩中文字幕一区二区| 久久久亚洲精品一区二区三区| 亚洲免费观看高清完整| 国产麻豆精品95视频| 欧美三级资源在线| 亚洲色图欧洲色图婷婷| 国产乱子伦视频一区二区三区| 7777精品久久久大香线蕉| 亚洲色图制服诱惑 | 国产天堂亚洲国产碰碰| 日韩电影免费在线| 欧美日韩中文字幕一区| 樱花影视一区二区| 91久久精品一区二区| 亚洲欧洲日韩综合一区二区| 国产精品一区二区在线播放 | 色综合久久中文字幕综合网| 亚洲精品一区二区在线观看| 日韩和欧美一区二区| 欧美综合天天夜夜久久| 久草在线在线精品观看| 91.麻豆视频| 亚洲成人免费影院| 色婷婷综合久久久中文字幕| 亚洲欧洲色图综合| 91蜜桃免费观看视频| 中文字幕一区二区三区视频| 成人免费视频免费观看| 欧美激情综合五月色丁香小说| 国产精品一区二区三区乱码| 亚洲精品一区二区三区香蕉| 久久精品国产第一区二区三区| 91精品国产色综合久久久蜜香臀| 亚洲大片一区二区三区| 精品视频一区二区不卡| 日韩成人免费电影| 欧美一级免费观看| 免费成人结看片| 精品三级在线看| 国产成人av自拍| 亚洲啪啪综合av一区二区三区| 日本高清无吗v一区| 日韩成人免费电影| 久久久久9999亚洲精品| 99国产精品一区| 视频一区免费在线观看| 精品日产卡一卡二卡麻豆| 国产精品456露脸| 亚洲欧美激情一区二区| 欧美一区午夜精品| 大胆欧美人体老妇| 日韩影院免费视频| 久久久五月婷婷| 91国产精品成人| 六月丁香婷婷色狠狠久久| 国产亚洲欧美中文| 欧美伊人久久大香线蕉综合69| 精品一区二区在线免费观看| 亚洲色图欧美激情| 日韩欧美二区三区| 欧美午夜影院一区| 国产91精品一区二区| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲欧美日韩国产综合在线| 欧美日韩高清一区| 国产酒店精品激情| 亚洲国产精品麻豆| 26uuu国产在线精品一区二区| 91视频在线观看| 精品影视av免费| 国产成人丝袜美腿| 日韩不卡在线观看日韩不卡视频| 国产精品伦理一区二区| 精品国产一区二区亚洲人成毛片| 色综合视频在线观看| 成人av在线一区二区| 国产真实乱对白精彩久久| 日韩女优av电影| 91精品婷婷国产综合久久竹菊| 欧美挠脚心视频网站| 欧美在线视频日韩| 精品理论电影在线观看| 欧美成va人片在线观看| 欧美一区二区三区免费观看视频| 色呦呦国产精品| 欧美精品777| 精品噜噜噜噜久久久久久久久试看| 欧美三级一区二区| 欧美影院一区二区| 欧美福利视频一区| 国产精品久久午夜| 人人狠狠综合久久亚洲|