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

首頁(yè) > 編程 > .NET > 正文

關(guān)于在ASP.NET 中進(jìn)行調(diào)試的方法(轉(zhuǎn)載自itpeople),不過(guò)我個(gè)人對(duì)第三招不以為然,有了v

2024-07-10 13:08:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
用過(guò)asp的人對(duì)它的調(diào)試應(yīng)該是記憶深刻的。在整片整片的代碼中找到那幾個(gè)
出錯(cuò)的地方,難度可想而知。現(xiàn)在微軟推出了asp的更新?lián)Q代產(chǎn)品asp.net。對(duì)于
asp.net的好處,我想很多網(wǎng)站都已經(jīng)介紹了差不多的,不過(guò)對(duì)于asp.net的調(diào)試
講得就不是很多了。所以,我就以我的一點(diǎn)個(gè)人經(jīng)驗(yàn)寫(xiě)了這一篇文章。由于,我
也是接觸asp.net不久,錯(cuò)漏之處在所難免,還請(qǐng)大家多多指正。好了,言歸正傳。

第一招:配置config.web

    一般,當(dāng)我們寫(xiě)好的網(wǎng)頁(yè)運(yùn)行出錯(cuò)了,asp.net就會(huì)在頁(yè)面上告訴我們程序有
錯(cuò)了,但究竟錯(cuò)在哪里,它是沒(méi)有提示的。為了能讓asp.net進(jìn)一步提示我們出錯(cuò)
的信息。我們就有必要編輯config.web中的配置信息。

    可能還有很多剛剛接觸asp.net的人不太了解config.web這個(gè)文件。那我就順便介紹一下。config.web是asp.net的一個(gè)配置文件,它里面存放著關(guān)于asp.net的所有配置信息。當(dāng)執(zhí)行一個(gè)asp.net頁(yè)面時(shí),它會(huì)先到該頁(yè)面所在的目錄查找這個(gè)文件,如果沒(méi)有找到,就往上一級(jí)目錄找,一直到wwwroot目錄。如果都沒(méi)有,它就會(huì)調(diào)用x:/winnt/microsoft.net/framework/v1.0.2204目錄中的config.web文件(x為系統(tǒng)目錄)。所以,如果大家要想改變所有頁(yè)面的配置,就應(yīng)該改winnt目錄中的那個(gè)config.web。另外順便說(shuō)一下,當(dāng)你打開(kāi)config.web后,你會(huì)發(fā)現(xiàn)這是一個(gè)xml結(jié)構(gòu)的配置文件。

    好了,介紹解說(shuō)這么多了,回到我們的主題。現(xiàn)在你要做的第一步就是:打
開(kāi)或者新建一個(gè)config.web文件。我們分開(kāi)來(lái)說(shuō):
如果是新建,你就需要用文本編輯器新建一個(gè)新的文檔,然后往里面輸入下
面的語(yǔ)句:
<configuration>
<customerrors mode="off"></customerrors>
</configuration>

    輸完后選擇另存為,輸入文件名config.web,將它保存到當(dāng)前頁(yè)面相同的文件夾中即可。如果是修改一個(gè)已經(jīng)存在的config.web文件,你只需要用文本編輯器打開(kāi)它,然后在<configuration>和</configuration>之間的任意地方輸入:
<customerrors mode="off"></customerrors>即可。

    現(xiàn)在你可以在看一下出錯(cuò)頁(yè)面的提示信息了。
    上一次我們說(shuō)到配置config.web文件,讓出錯(cuò)信息給出更多的提示。可光有
提示又有什么用呢?“最多就是知道錯(cuò)在哪里,可我還是不會(huì)改呀!”別急,別
急,看看咱們這篇文章叫什么來(lái)著,“三板斧”,那當(dāng)然是一斧賽過(guò)一斧啦!上
次那招不夠厲害,我們還有下面的那,所以別急啊,且聽(tīng)我慢慢道來(lái)。

第二招:trace追蹤

    用過(guò)asp的人應(yīng)該都用過(guò)下面的語(yǔ)句吧:
    response.write xxx
    response.end

    雖然我不太喜歡asp的編程方法,但是這種方便的調(diào)試手段還是很好的。換用
asp.net以后,我發(fā)現(xiàn)asp.net提供一種更強(qiáng)大的調(diào)試方法,它就是我們現(xiàn)在要說(shuō)
的trace。所謂trace功能就是在網(wǎng)頁(yè)的最前面加上一些標(biāo)記,至于是什么標(biāo)記呢?嘿嘿,我不能馬上告訴你(不好,臭雞蛋……哇!)。我是說(shuō),我要先介紹一點(diǎn)基礎(chǔ)的知識(shí)啦!

    我不知道大家對(duì)asp.net的頁(yè)面標(biāo)示了解多少,為了下面講解的方便,我還是
概要的介紹一下吧!asp.net的頁(yè)面標(biāo)示指的是在每一個(gè)asp.net頁(yè)面最上面,用
<%@和%>括起來(lái)的語(yǔ)句。它的功能是用來(lái)確定在處理asp.net文件的時(shí)候,需要系
統(tǒng)做一些什么特殊的設(shè)定。具體的語(yǔ)法如下:
<%@ directive attribute=value %>
其中:directive就是頁(yè)面標(biāo)示符;attribute是該標(biāo)示符對(duì)應(yīng)的一些屬性。
注意:在屬性之間需要空格,而在"="之間不能有空格。
asp.net現(xiàn)在包含以下7種標(biāo)識(shí)
@ page,
@ control,
@ import,
@ registe,
@ assembly,
@ outputcache,
@ webservice

    我們用得最多的就是@ page標(biāo)示,而現(xiàn)在我要講的trace功能,也要用到@ page。(關(guān)于這七個(gè)標(biāo)示的具體應(yīng)用,我會(huì)在以后發(fā)貼講述的。)好了,回到我們的主題。要用trace功能,你必須在頁(yè)面的最上面加上:<%@ page trace="true" %> 這句話。加好后,你就可以看看頁(yè)面的運(yùn)行情況了。運(yùn)行該頁(yè)面。你會(huì)發(fā)現(xiàn)在頁(yè)面的下半部分出現(xiàn)了一大堆的數(shù)據(jù)。下面就來(lái)解釋一下這些數(shù)據(jù)的含義:
request details:通過(guò)request方式向?yàn)g覽器所讀取的數(shù)據(jù);
trace information:事件發(fā)生或程序執(zhí)行的過(guò)程信息;
control tree:網(wǎng)頁(yè)所使用的控件及控件之間的階層關(guān)系;
cookies collection:網(wǎng)頁(yè)所使用的cookie信息;
headers collection:瀏覽器的表頭信息。
server variables:server變量的數(shù)據(jù)信息。

    有了這一大堆數(shù)據(jù),我們的工作就好做多了,但且慢歡喜,trace還提供了更強(qiáng)大的功能,請(qǐng)接著看下去。
    
    除了讓asp.net頁(yè)面顯示這一堆數(shù)據(jù)外,我們還可以將程序中用到的變量的
值實(shí)時(shí)的顯示在trace information區(qū)段中,其方法是調(diào)用trace.warn或trace.write兩個(gè)方法。他們的用法如下:
trace.warn("description",variables);
trace.write("description",variables);

    我想你們一定會(huì)問(wèn),這兩個(gè)有什么區(qū)別呢?回答是:在功能上,這兩個(gè)是一模一樣的,只是在顯示上,trace.warn將會(huì)以紅色字體表示
第三招 查錯(cuò)神器debugger

    要用好的兵器,沒(méi)點(diǎn)準(zhǔn)備是不行的,所以我們就先來(lái)做點(diǎn)準(zhǔn)備運(yùn)動(dòng)。
    1.config.web的設(shè)定:還記得第一招中講的嗎?對(duì)了,還是這個(gè)文件,打開(kāi)它,向里面加入這條語(yǔ)句
    <compilation debugmode="true"></compilation>
    說(shuō)明:由于在預(yù)設(shè)情況下,asp.net會(huì)以正常模式來(lái)運(yùn)行頁(yè)面,為了能讓它以查錯(cuò)模式編譯網(wǎng)頁(yè),我們就必須加入這句語(yǔ)句。

    2.啟動(dòng)查錯(cuò)工具dbgurt.exe:這個(gè)程序放在x:/program files/microsoft.net/frameworksdk/guidebug目錄里,文件名是dbgurt.exe

    3.激活查錯(cuò)功能:
    運(yùn)行dbgurt.exe程序
    --〉選取菜單debug/processes
    --〉在出現(xiàn)的processes對(duì)話框中選中show system processes和show processes in all sessions
    --〉在available processes列表框的最下面找到xspwp.exe(如果沒(méi)有,請(qǐng)運(yùn)行一.aspx頁(yè)面,然后按refresh鍵。)
    --〉選取該文件后,按attach鍵
    --〉在出現(xiàn)的對(duì)話框中選中common language runtime,然后按ok,回到processes對(duì)話框
    --〉按close鍵
    --〉在程序的主菜單中選取file/open/file,打開(kāi)你想要檢測(cè)的文件。

    下面正式開(kāi)始頁(yè)面調(diào)試。
    利用dbgurt.exe打開(kāi)欲調(diào)試的文件后,我們要做的第一件事情就是:設(shè)置斷
點(diǎn)。是不是覺(jué)得和其它windows應(yīng)用程序的調(diào)試很像(什么很像?簡(jiǎn)直就是一模
一樣嗎!)加斷點(diǎn)的方法很簡(jiǎn)單,先決定需要加斷點(diǎn)的地方,然后將光標(biāo)移動(dòng)到
該行,按下f9或者在該行的最前面點(diǎn)擊鼠標(biāo)左鍵,該句前面就會(huì)出現(xiàn)一個(gè)問(wèn)號(hào)的
標(biāo)記,這就是斷點(diǎn)!我們當(dāng)然可以設(shè)定多個(gè)斷點(diǎn),只要你喜歡。你要是像取消一
個(gè)斷點(diǎn),只需在該行重復(fù)設(shè)置斷點(diǎn)的動(dòng)作即可。

    設(shè)置好斷點(diǎn)后,只要使用瀏覽器瀏覽被調(diào)試的頁(yè)面,當(dāng)程序運(yùn)行到斷點(diǎn)的位
置時(shí),它就會(huì)自動(dòng)彈出dbgurt.exe,并且停在剛才的斷點(diǎn)位置。這是,我們就可
以利用command window-immediate窗口檢查變量的值了。

    當(dāng)我們想繼續(xù)執(zhí)行當(dāng)前頁(yè)面時(shí),我們有幾種選擇:
    1、按f5鍵,運(yùn)行到下一個(gè)斷點(diǎn),若沒(méi)有斷點(diǎn),則運(yùn)行完該頁(yè)面;
    2、按f11鍵,執(zhí)行單步操作;
    3、按f10鍵,同樣是單步操作,但它會(huì)進(jìn)入子程序(函數(shù))中的語(yǔ)句。

    當(dāng)然,dbgurt.exe的功能肯定比我介紹的要強(qiáng)大的多。編寫(xiě)asp.net程序,有
個(gè)這樣的利器,真是省了我們很多時(shí)間啊!怎么還不


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲水县| 宁安市| 芒康县| 罗定市| 英超| 库伦旗| 元朗区| 苏尼特右旗| 临夏县| 台安县| 天长市| 潜江市| 青冈县| 女性| 双鸭山市| 凤阳县| 乌鲁木齐县| 炎陵县| 信阳市| 松溪县| 天气| 高唐县| 买车| 扬中市| 宜良县| 万源市| 准格尔旗| 萨迦县| 固安县| 新密市| 措美县| 噶尔县| 南丹县| 张掖市| 奎屯市| 同心县| 长白| 从江县| 保靖县| 灯塔市| 凌云县|