实习(四)DEBUG.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习(四)DEBUG

實習(四) DEBUG 除錯(Debug)是程式設計中一個重要的部分,當一個程式的執行結果與原先 預期的不同時,就可以利用Debugger來找出程式錯誤的地方,來加以修正。 §VC++ Debugger功能簡介 找出VC++ 6.0 內Debugger的工具列 在功能列 [Tools] → Customizel中的Toolbars內將Debug核對方塊打勾 二.Debugger工具列功能簡介 1.Debugger工具列如下圖: 2.常用Debug工具列功能簡介 Restart:從程式起始處重新開始執行。 Stop Debugging:中止目前的Debug工作。 Step Over:只執行下一個敘述,然後再暫停程式的執行。 如果該敘述是一個函式呼叫,則執行該函式呼叫直到該  函式結束後再暫停程式的執行。 Step Into:只執行下一個敘述,然後再暫停程式的執行。       然而如果該敘述是一個函式呼叫,則進入該函式,然後在 執行該函式第一行敘述之前暫停程式的執行。 Step Out:執行目前函式剩下的斜述直到函式結束,然後回到原來呼  叫目前函式的敘述後暫停程式的執行。 Run to Cursor:繼續執行程式直到遇到游標所在敘述為止。 Quick Watch:按下Quick Watch鈕,會出現QuickWatch對話視窗,可 讓使用者計算出程式中任一表示式(Expression)的值。 Watch:可開啟Watch視窗,供使用者檢視各變數目前的值。 Variables:可開啟Variables視窗,供使用者檢視各變數目前的值。 並提供樹狀結構顯示區域變數及其成員函式的關係。 Registers:可開啟Registers視窗,供使用者觀察各暫存器目前的值。 Memory:可開啟Memory視窗,可觀察目前記憶體中之資料內容。 Call Stack:可開啟Call Stack視窗,這個視窗與Variables視窗功能       相同,但是比Variables視窗更好用,除了函式名稱外, 還可以看到傳入函式的參數,也就是── Call Stack視窗可以顯示程式至此的函式呼叫關係。 Disassembly:可開啟Disassembly視窗,列出使用者的C++程式碼所產 生的組合語言碼。 §錯誤的種類:  撰寫程式時,我們通常會發生的錯誤,大致可分為兩類,一是語法錯誤,  二是邏輯錯誤。 所謂的語法錯誤,就是用錯了程式的語法,像是每行程式最後忘了加上”;”  或者是下錯指令(例如cout打成了cou之類的),這些錯誤,通常在compiler 時,VC++就會列出錯誤的程式行號,以及錯誤的原因,都顯示在底下的除錯 區,您只要用滑鼠在錯誤的地方點兩下,程式編輯區就會切換到發生程式錯  誤的地方。 下圖顯示test.cpp檔中的第7行產生語法錯誤,只要在該行中用滑鼠左鍵快速  點兩下,即可切換至test.cpp檔中的第7行檢視該行。 另一種邏輯錯誤,則是在compiler和執行程式後,雖然程式語法上沒有錯 誤,但是執行結果卻不正確,錯誤發生在程式撰寫者的演算邏輯錯誤,造成程 式的執行結果不如預期,邏輯錯誤要除錯相較於語法錯誤來說是比較不容易的 。 這時我們就可以利用VC++所提供的Debugger除錯器,去觀察程式執行的過程 ,以及程式中變數值的變化情形,因而找出程式發生錯誤的原因。 §範例: 使用者除了利用Debugger檢視程式錯誤的地方外,還可以用來追蹤程式執行  過程中,各個變數或暫存器內容值的改變情形,舉個例子來說明: 我們使用的範例程式是一個將所輸入的攝氏溫度轉換成華氏溫度的程式, 透過這個例子來說明VC++ Debugger最常用的功能。 開啟一個新的Workspace,並輸入C++的Source File,並將Debugger的 工具列點選出來(在〔Tools〕→ Customize內的ToolBars中點選) 設定中斷點 設定中斷點最簡單的方式是將游漂移動到程式碼中所欲中斷的指令行, 然後有三種方式: a.按下快速鍵F9 b.按下Build MiniBar上的 Insert/Remove Breakpoint (F9)鍵 c.利用功能列上的 [EDIT]選項→Breakpoints內去設定 將游標移到程式碼中所欲中斷的指令行。 這兒假設要在 fd = cd

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档