国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

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

2019-11-02 15:42:20
字體:
來源:轉載
供稿:網友

   這篇文章主要介紹了.NET程序調試技巧(一):快速定位異常的一些方法,本文講解了定位本機異常、在客戶環境定位.net程序異常兩方面的內容,需要的朋友可以參考下

  作為一個程序員,解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。

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

  可以打開 調試 菜單下面的 選項和設置,將 啟用"僅我的代碼" 這一

歷史人物故事[www.9-39.com/html/person/]
項取消勾選。那么別人代碼中的異常就可以拋出了。

  二:在客戶環境定位 .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 SDKsWindowsv7.0ABinMdbg.exe用于調試

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

  C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 ToolsMdbg.exe用于調試CLR4.0程序(對用.net4.0)。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特左旗| 成都市| 南昌县| 汪清县| 颍上县| 雅江县| 鸡西市| 武乡县| 安宁市| 东明县| 云安县| 丹寨县| 南澳县| 通河县| 合肥市| 临沧市| 连州市| 镇赉县| 宜阳县| 宁夏| 紫金县| 靖宇县| 通城县| 杂多县| 涿鹿县| 津南区| 左权县| 铁力市| 七台河市| 岳阳市| 厦门市| 本溪| 南木林县| 慈利县| 定兴县| 苍山县| 瑞丽市| 内江市| 武鸣县| 上饶市| 绥中县|