美圖欣賞 | 設為首頁 | 加入收藏 | 網站地圖

當前位置:新錦江平臺:www.xjj7.com-電腦中國 > 編程 > C語言 >

VC6斷點調試之監視變量

2020-05-16 10:01|來源:未知 |作者:dnzg |點擊:

上兩講中,為大家介紹到了VC6編譯器的斷點調試技巧,教給大家如何設置\取消斷點、單步和跟蹤一個程序。讓大家具備基本的調試一個程序的能力。今天我們將繼續深入研究教大家如何更細致、深入的跟蹤和分析一個C程序。

 

下面進入正文,對于一個有“問題”待分析的程序,我們斷點的目的是為了追溯程序的執行過程,跟蹤程序的動態執行過程,從而排查錯誤來解決問題。所以實際開發工作中,對于一些較復雜的程序,我們很多情況斷點跟蹤程序是為了獲得某一斷點情況下的程序狀態,這個狀態就包括程序中的變量、返回值、判斷條件等內容。這就要用到關于用到一些新技巧。就包括:內存監視等內容。

 

看一個例子程序,計算1+2+…+99+100的和的程序,代碼如下:

VC6斷點調試之監視變量<第三篇>

當敲下這些代碼,確認思路沒有問題后,編譯運行后確發現結果出人意料:

VC6斷點調試之監視變量<第三篇>

不少同學紛紛跑來求助,問:為什么是這種情況?怎么想怎么不對。這個時候除了用到斷點,內存監視就派上用場了,由于這個程序的輸出是循環完畢后一起輸出,中途沒有變量記錄,那我們為了找出原因,只有斷點的同時監視內存中的數據來實現調試。具體如下:

設置斷點后,運行起來,點擊工具欄:View debug – Windows – Variables或者按快捷鍵alt+4即可彈出變量監視框,如下圖:

VC6斷點調試之監視變量<第三篇>

  這時會打開這個程序當中已經定義好的變量以及對應的值,可以清楚的看到a和sum對應的值是垃圾值。即便F10繼續執行,sum會被更改,但sum和a的值依舊為垃圾值。

VC6斷點調試之監視變量<第三篇>

到此時的同學,應該很明顯的發現a和sum的值有問題,進行代碼排查了!

額外的,如果有其他值(比如數組)沒有在變量監視中顯示出來,我們可以打開View debug – Windows – Watch打開監視區,輸入想要監視的值也可以。甚至包括取地址等內容,如圖:

VC6斷點調試之監視變量<第三篇>

以上變量跟蹤、監視,應對絕大多數C語言練習題、已經足夠,希望大家熟練掌握。加深最自己寫的程序的掌握,從而理解程序執行流程,做到心中胸有成竹!

(責任編輯:dnzg)
安卓手机安全赚钱软件哪个好用 体彩江西11选5怎么玩 幸运赛车开奖视频 江苏十一选五遗漏图表 大发快三开奖计划网 合法的股票配资平台有哪些 甘肃快3开奖走势图近360期 内蒙古11选五走势一定牛 青海十一选五彩票 天津时时彩在线开奖 天津快乐10分钟电视走势图