如何在TC環境中程式的除錯跟蹤

2021-07-07 11:00:12 字數 1158 閱讀 5076

程式一般不會一次執行就成功,幾乎總包含一些錯誤。詞法、語法方面的錯誤在編譯時就可以發現並加以改正,而一些語義上的錯誤就難以發現,所以常常出現執行結果不正確甚至產生不了結果的情況,這就需要對程式進行跟蹤除錯以發現並改正錯誤。現在所有的高階語言都有乙個積編輯、編譯、執行、除錯功能為一體的整合環境。

跟蹤除錯是一種有效的除錯程式的方法,是一種通過人工控制程式執行過程,比對主觀和客觀的程式執行過程和中間結果以發現和改正錯誤的除錯程式的方法。在tc環境中是通過run和debug選單中的命令實現跟蹤除錯的。表一和表二是有關命令的介紹。

表一 run選單命令

表二 debug選單命令

以上兩個**中的命令如何使用呢?一般情況下是一邊使用trace into(f7)或step ove(f8)命令跟蹤控制程式的執行,一般在觀察視窗(watch)監視某些變數的值與主觀預期的是否一致,出現不一致的地方查詢產生不一致的原因,以便找出程式中的錯誤。在跟蹤除錯的過程中注意以下問題:

(1)已經除錯正確的地方可以設定斷點,不需要所有的程式每次都一行一行執行。

(2)設定斷點的方法是:把游標移到要設定斷點的地方,使用toggle breakpoint(ctrl-f8)命令

(3)可以先用step ove(f8)命令跟蹤除錯,發現有不正確的地方在重新用trace into(f7)除錯。

(4)程式除錯的一般思路是:先檢查輸入資料是否正確,再檢查每個函式是否正確。可以分塊分段的除錯。

在程式中經常會出現的錯誤有:

(1)輸入資料時一般變數名前面沒有&

(2)輸入字串時字元陣列名就表示位址, 不需要再加&

(3)輸入資料尤其是從檔案中輸入資料時資料輸入的格式必須嚴格與輸入的資料格式一致。如輸入資料12 abc x 34,則輸入格式應該為「%d %s %c %d」,而不能是「%d%s%c%d」。

(4)使用陣列時密切注意不要越界

(5)不要使用懸空的指標。即定義了指標*p,如果沒有給p賦過值,應當理解為p不指向任何地方,不能使用*p。

(6)注意結構體型別變數和指向結構體變數的指標的使用方法是不同的。

(7)注意變數的作用域(使用範圍),注意引數的傳遞形式。

另外,在程式執行正確的基礎上,可以使用tc的file選單下的dos shell命令,在dos下執行「程式名》文字檔案名」命令把程式的執行結果放到文字檔案中去。

吳敏華2023年10月29日

如何在Excel中建立VBA程式

第1頁 總9頁2013年11月30日星期6 如何在excel 2013中建立vba程式 圖示excel 2013中建立vba程式步驟。excel 2013軟體的圖示為 如果已經設定了桌面快捷方式,則雙擊即可執行。也可使用win鍵進入開始螢幕,單擊excel 2013圖示 或者使用win r快捷鍵,在...

如何在網路環境下提公升自主能力

今年20歲的黃欣,是南京大學軟體學院2011級的學生。即將公升入大四的他,在忙碌的大學生活中,擠出時間自學了11門mooc課程,並獲得了 電腦科學 博弈論 程式語言 scala函式式程式設計原則 資料科學導論 機器學習 等6門課程的合格證書。mooc 慕課 是一種大型開放式網路課程平台,通過在網上提...

如何在中國當前的購房環境下迎來突破

中國房地產市場巨集觀環境分析及南京市房地產市場環境調研報告 中國房地產市場巨集觀環境分析 房地產行業是典型的資金密集型行業,具有投資大 風險高 週期久 鏈長 地域性強的特點。由於房地產業是我國國民經濟的主導產業,在現代社會經濟生活中有著舉足輕重的地位,因而房地產行業的發展與整體國民經濟的發展息息相關...