西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)Delphi → Delphi7調(diào)試工具的使用

Delphi7調(diào)試工具的使用

前往專(zhuān)題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2012/8/20 17:07:50字體大小:A-A+

作者:佚名點(diǎn)擊:154次評(píng)論:0次標(biāo)簽: Delphi7

Delphi77.0 Build 8.1企業(yè)版龍卷風(fēng)集成Update1
  • 類(lèi)型:編程工具大。150.0M語(yǔ)言:英文 評(píng)分:4.0
  • 標(biāo)簽:
立即下載

Delphi7中提供了一些附加調(diào)試工具來(lái)幫助用戶(hù)檢查程序錯(cuò)誤。從性能上講,其中一些工具屬于高級(jí)調(diào)試工具。盡管高級(jí)調(diào)試工具不像其他工具那樣常用,但對(duì)于經(jīng)驗(yàn)豐富的編程人員來(lái)說(shuō),它們是非常有用的。

Evaluate/Modify對(duì)話(huà)框(The Evaluate/Modify Dialog Box)

該對(duì)話(huà)框用于檢查變量的當(dāng)前值和修改變量的值。使用這個(gè)對(duì)話(huà)框,用戶(hù)可以修改某個(gè)變量的值來(lái)測(cè)試不同的輸出結(jié)果。在調(diào)試期間改變一個(gè)變量的值,使用戶(hù)能測(cè)試程序不同參數(shù)的效果,而不必每次都重新編譯。如下圖主菜單【Run | Evaluate/Modify】或按【Ctrl + F7】

Note

該對(duì)話(huà)框的工具欄即可顯示大圖標(biāo)也顯示小圖標(biāo),要在大小圖標(biāo)進(jìn)行切換的話(huà),用鼠標(biāo)拖動(dòng)位于工具欄下方的線(xiàn)條,工具就會(huì)在大小圖標(biāo)間進(jìn)行調(diào)整了。

Evaluate/Modify對(duì)話(huà)框,類(lèi)似于Watch List和Debug Inspector。如果點(diǎn)擊代碼中的一個(gè)變量,并從Code Editor的快捷菜單中選擇【Evaluate/Modify】菜單項(xiàng),該變量會(huì)自動(dòng)被求值。也可手動(dòng)輸入要進(jìn)行求值的變量,從主菜單選擇【Run  | Evaluate/Modify】菜單項(xiàng),然后輸入要求值的變量名。

Expression字段用于輸入要對(duì)其求值的變量名或表達(dá)式。點(diǎn)擊Evaluate按鈕或按Enter鍵,表達(dá)式或變量就會(huì)被求值。結(jié)果顯示在Result字段中。如下圖:

Note

Evaluate/Modify對(duì)話(huà)框可當(dāng)做一個(gè)簡(jiǎn)易計(jì)算器使用,可輸入十六進(jìn)制數(shù)(或十進(jìn)制數(shù),或兩者都可)的數(shù)學(xué)公式,讓計(jì)算器計(jì)算結(jié)果。例如如下圖:

還可在Expression中輸入邏輯表達(dá)式,Result顯示True。如下圖:

程序必須停在斷點(diǎn)處才能使用Evaluate/Modify對(duì)話(huà)框這一功能。

如果用戶(hù)想要改變一個(gè)變量的值,可在New Value字段輸入新值并點(diǎn)擊Modify按鈕,變量就會(huì)變成輸入的新值。當(dāng)用戶(hù)點(diǎn)擊Run按鈕重啟啟動(dòng)程序(或繼續(xù)步進(jìn)調(diào)試)時(shí),就會(huì)使用新值。

Note

與Watch List和Debug Inspector不同的是,當(dāng)用戶(hù)一行一行執(zhí)行代碼時(shí),Evaluate/Modify對(duì)話(huà)框不會(huì)自動(dòng)更新。如果代碼改變了Evaluate/Modify對(duì)話(huà)框中變量的值,必須再點(diǎn)擊Evaluate按鈕才能看到改變后的值。這使得Evaluate/Modify對(duì)話(huà)框有個(gè)優(yōu)點(diǎn):步進(jìn)式調(diào)試代碼時(shí)速度更快,因?yàn)檎{(diào)試器不必每執(zhí)行一行代碼就求一個(gè)表達(dá)式的值?山换サ厥褂眠@個(gè)對(duì)話(huà)框來(lái)求變量或表達(dá)式的值,并且求完值后立即關(guān)閉此對(duì)話(huà)框。 

調(diào)用棧窗口(The Call Stack Window)

在程序運(yùn)行階段,用戶(hù)可通過(guò)查看調(diào)用棧來(lái)檢查應(yīng)用程序調(diào)用的函數(shù)或過(guò)程。從主菜單上選【View | Debug Windows | Call Stack】菜單項(xiàng)來(lái)顯示Call Stack窗口,該窗口列出應(yīng)用程序調(diào)用的函數(shù)和過(guò)程,按調(diào)用順序的先后排列,最近調(diào)用的函數(shù)或過(guò)程列在窗口頂部。

雙擊Call Stack窗口中的方法名,會(huì)顯示該方法的代碼行(如果該方法在應(yīng)用程序中);當(dāng)函數(shù)或過(guò)程的代碼不存在時(shí)(VCL方法), Call Stack窗口顯示該過(guò)程所在的模塊名和地址。雙擊沒(méi)有源代碼的函數(shù)和過(guò)程,會(huì)顯示CPU窗口。

當(dāng)碰到Windows Access Violation錯(cuò)誤時(shí),查看調(diào)用棧非常有幫助。通過(guò)查看調(diào)用棧,用戶(hù)能找出程序中產(chǎn)生錯(cuò)誤的位置;找到程序中錯(cuò)誤位置是排除錯(cuò)誤的第一步。

Tip

如果調(diào)用棧列表中包含有無(wú)意義的信息,那可能是調(diào)用棧被破壞了。被破壞的調(diào)用棧通常標(biāo)志著棧溢出或內(nèi)存覆蓋。 

CPU窗口(The CPU Window)

可從主菜單【View | Debug Windows | CPU】菜單項(xiàng)或按【Ctrl + Alt + C】來(lái)顯示CPU窗口。 

CPU窗口使用戶(hù)能夠在匯編指令級(jí)查看應(yīng)用程序?梢詧(zhí)行一個(gè)匯編指令就暫停一下;也可以運(yùn)行程序至某條匯編指令(就像用常規(guī)調(diào)試器運(yùn)行程序至某行源代碼一樣)。CPU窗口分成五個(gè)窗格:反匯編窗格(Disassembly pane)、寄存器窗格(CPU Registers pane)、標(biāo)志窗格(Flags pane)、原始棧窗格(Machine Stack pane)和轉(zhuǎn)儲(chǔ)窗格(Memory Dump pane)。

每個(gè)小窗格都有一個(gè)快捷菜單,這個(gè)快捷菜單提供使用該窗格時(shí)所需的功能。要有效地使用CPU窗口,必須懂匯編語(yǔ)言。顯然,CPU窗口是一個(gè)高級(jí)調(diào)試工具。

Go to Address命令(The Go to Address Command)

Go to Address命令也是一個(gè)高級(jí)調(diào)試工具。當(dāng)應(yīng)用程序出現(xiàn)故障時(shí),Windows會(huì)顯示一條出錯(cuò)消息,給出違例地址。用戶(hù)可以使用Go to Address命令來(lái)找出程序中發(fā)生故障的位置。當(dāng)Windows發(fā)出Access Violation出錯(cuò)消息時(shí),會(huì)顯示一個(gè)類(lèi)似于下圖的錯(cuò)誤。

當(dāng)用戶(hù)看到這樣的出錯(cuò)消息時(shí),記下違例發(fā)生的地址,從Code Editor快捷菜單中選擇【Debug | Go to Address】菜單項(xiàng)來(lái)顯示Go to Address對(duì)話(huà)框。

把記下的地址輸入到Go to Address對(duì)話(huà)框的Address字段中。點(diǎn)擊OK,調(diào)試器就開(kāi)始查找發(fā)生故障的源代碼行。如果故障出現(xiàn)在代碼中,則光標(biāo)會(huì)指著產(chǎn)生錯(cuò)誤的源代碼行。如果是代碼以外的地方發(fā)生故障,會(huì)彈出一個(gè)消息框告訴用戶(hù),代碼中未找到該地址。這是一個(gè)高級(jí)調(diào)試工具,用戶(hù)可能還從未使用過(guò)。

    Delphi
    (9)Delphi
    比以往的版本都要快,而且它保留了一些的特性,最大的特點(diǎn)就是向下兼容的能力,與相比,簡(jiǎn)直是一個(gè)巨大的飛越,編碼的問(wèn)題大多被自行消化掉了。的新功能其實(shí)并不是很多,并沒(méi)有那么驚艷,主要都集中在細(xì)節(jié)改進(jìn)。...更多>>
    • Embarcadero RAD Studio 2010v2010

      05-15 / 1.66G

      推薦理由:本軟件系 Embarcadero公司(CodeGear的)RAD Studio 正版軟件。也是正式版軟件。 不需要任何序列號(hào)和破解文
    • delphi 2010

      03-26 / 604KB

      推薦理由:請(qǐng)仔細(xì)看使用說(shuō)明覺(jué)對(duì)真的 本人親自測(cè)試Delphi新版本(D2010)簡(jiǎn)介:1. 多核的支持 / 異步方法 (VC中早就擁有
    • Delphi 5安裝版

      01-10 / 224.2M

      推薦理由:delphi 5 Delphi是著名的Borland(現(xiàn)在已和Inprise合并)公司開(kāi)發(fā)的可視化軟件開(kāi)發(fā)工具。“真正的程序員用c
    • Delphi 7(集成控件)v7.0Build8.1企

      03-25 / 211.9M

      推薦理由:Borland Delphi V7.0 Build 8.1企業(yè)版 龍卷風(fēng)集成U pdate1 已集成官方的Update1完整升級(jí)包,版本號(hào)為,安裝
    • Delphi7_Lite_Mini_Edition_v7.3.1

      08-30 / 22.6M

      推薦理由:elphi7精簡(jiǎn)優(yōu)化迷你版,包含幫助.只支持Standard,DB,ADO,BDE,DBX,Midas,ShellCtrls,internet,Delphi 1.0 Com
    • Delphi77.0 Build 8.1企業(yè)版龍卷風(fēng)

      05-15 / 150.0M

      推薦理由:Borland Delphi V7.0 Build 8.1企業(yè)版 龍卷風(fēng)集成U pdate1 已集成官方的Update1完整升級(jí)包,版本號(hào)為,安裝

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)