两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

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

 

下面進(jìn)入正文,對(duì)于一個(gè)有“問(wèn)題”待分析的程序,我們斷點(diǎn)的目的是為了追溯程序的執(zhí)行過(guò)程,跟蹤程序的動(dòng)態(tài)執(zhí)行過(guò)程,從而排查錯(cuò)誤來(lái)解決問(wèn)題。所以實(shí)際開(kāi)發(fā)工作中,對(duì)于一些較復(fù)雜的程序,我們很多情況斷點(diǎn)跟蹤程序是為了獲得某一斷點(diǎn)情況下的程序狀態(tài),這個(gè)狀態(tài)就包括程序中的變量、返回值、判斷條件等內(nèi)容。這就要用到關(guān)于用到一些新技巧。就包括:內(nèi)存監(jiān)視等內(nèi)容。


看一個(gè)例子程序,計(jì)算1+2+…+99+100的和的程序,代碼如下:

VC6斷點(diǎn)調(diào)試之監(jiān)視變量

當(dāng)敲下這些代碼,確認(rèn)思路沒(méi)有問(wèn)題后,編譯運(yùn)行后確發(fā)現(xiàn)結(jié)果出人意料:

VC6斷點(diǎn)調(diào)試之監(jiān)視變量

不少同學(xué)紛紛跑來(lái)求助,問(wèn):為什么是這種情況?怎么想怎么不對(duì)。這個(gè)時(shí)候除了用到斷點(diǎn),內(nèi)存監(jiān)視就派上用場(chǎng)了,由于這個(gè)程序的輸出是循環(huán)完畢后一起輸出,中途沒(méi)有變量記錄,那我們?yōu)榱苏页鲈?,只有斷點(diǎn)的同時(shí)監(jiān)視內(nèi)存中的數(shù)據(jù)來(lái)實(shí)現(xiàn)調(diào)試。具體如下:

設(shè)置斷點(diǎn)后,運(yùn)行起來(lái),點(diǎn)擊工具欄:View debug – Windows – Variables或者按快捷鍵alt+4即可彈出變量監(jiān)視框,如下圖:

VC6斷點(diǎn)調(diào)試之監(jiān)視變量

這時(shí)會(huì)打開(kāi)這個(gè)程序當(dāng)中已經(jīng)定義好的變量以及對(duì)應(yīng)的值,可以清楚的看到a和sum對(duì)應(yīng)的值是垃圾值。即便F10繼續(xù)執(zhí)行,sum會(huì)被更改,但sum和a的值依舊為垃圾值。

VC6斷點(diǎn)調(diào)試之監(jiān)視變量

到此時(shí)的同學(xué),應(yīng)該很明顯的發(fā)現(xiàn)a和sum的值有問(wèn)題,進(jìn)行代碼排查了!

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

VC6斷點(diǎn)調(diào)試之監(jiān)視變量

以上變量跟蹤、監(jiān)視,應(yīng)對(duì)絕大多數(shù)C語(yǔ)言練習(xí)題、已經(jīng)足夠,希望大家熟練掌握。加深最自己寫的程序的掌握,從而理解程序執(zhí)行流程,做到心中胸有成竹!

 

祝:順利!


點(diǎn)贊(2)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫出一個(gè)爬蟲(chóng)的Python編程課程

只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)