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

  • 歡迎訪問C語言網(wǎng)www.sztianhecheng.cn 比賽欄每月有獎(jiǎng)月賽!舉辦比賽聯(lián)系QQ:2045302297
  • 問題反饋、粉絲交流 QQ群327452739 藍(lán)橋杯訓(xùn)練群:113766799 申請(qǐng)群時(shí)請(qǐng)備注排名里的昵稱
  • C語言研究中心 為您提供有圖、有料、解渴的C語言專題! 歡迎討論!

VC6斷點(diǎn)調(diào)試技巧<第二篇>

C語言研究中心 CTO 17772次瀏覽 5個(gè)評(píng)論

在第一篇中,我們?yōu)榇蠹医榻B了如何用VC6進(jìn)行斷點(diǎn)調(diào)試,可以實(shí)現(xiàn)程序的分步執(zhí)行。今天我們將繼續(xù)深入,進(jìn)行更多斷點(diǎn)調(diào)試的學(xué)習(xí)。

首先,寫一個(gè)例子程序:

#include
int fun()
{
	printf("Welcome to C language Reserch Center\n");
	return 0;
}
int main()
{
	int i=0;
	int sum=0;
	fun();
	while(i++<100)
	{
		sum+=i;
	}
	printf("1+2+3+...+99+100 = %d\n",sum);

    return 0;
}

 

大家可以先行閱讀以下程序,比較簡(jiǎn)單,調(diào)用一個(gè)自定義函數(shù)輸出一句話,其二,計(jì)算1+2一直加到100的和并輸出。

然后,我們做練習(xí),運(yùn)用上節(jié)課的斷點(diǎn)調(diào)試逐步跟我們這個(gè)程序。

首先,我們?cè)诘谝恍衖nt i=0;這里設(shè)置一個(gè)斷點(diǎn),運(yùn)行它,如圖:

VC6斷點(diǎn)調(diào)試技巧<第二篇>

注意看到,黑框里什么都沒有輸出,并且下方的變量監(jiān)視里i的值還是垃圾值,因?yàn)檫€未執(zhí)行這句話。

然后我們F10下一步執(zhí)行。但當(dāng)大家執(zhí)行到fun();函數(shù)調(diào)用這條語句時(shí),編譯器把它當(dāng)成一句話來執(zhí)行,并未進(jìn)入函數(shù)內(nèi)部,而是一步帶過,如圖:

 

VC6斷點(diǎn)調(diào)試技巧<第二篇>

大家可自行上機(jī)實(shí)驗(yàn),可以發(fā)現(xiàn)F10單步執(zhí)行的單步是以一條C語言語句為單位的。鑒于這種情況,當(dāng)我們懷疑fun函數(shù)時(shí)如何調(diào)試呢?

除了可以在fun函數(shù)內(nèi)部設(shè)置斷點(diǎn)以外,我們還有一個(gè)辦法,就是不按F10,而按F11,F(xiàn)11的意思是單步執(zhí)行并介入,也就是說遇到單出的一句話就和F10沒什么區(qū)別了,但如果是函數(shù)調(diào)用這種還能“進(jìn)入”的語句,它就會(huì)逐層深入進(jìn)去!大家能理解嗎?

那我們來試一試,重新開始,回到程序一開始的斷點(diǎn)處,在黃色箭頭指向到fun()時(shí),按F11,大家注意觀察!

黃色的箭頭會(huì)進(jìn)入fun函數(shù)內(nèi)部,如圖:

VC6斷點(diǎn)調(diào)試技巧<第二篇>

然后可以逐步跟蹤fun函數(shù)內(nèi)部的語句了! 怎么樣?試試吧

當(dāng)然,這里提示一下,對(duì)于我們想深入研究的函數(shù)我們可以F11介入一探究竟,但如果一直F11的話可能會(huì)一直深入程序底層可能按不出來哦!另外,對(duì)于printf這種庫函數(shù),如果還按F11的話,由于printf已經(jīng)編譯好,只能看到printf的匯編語句。所以大家還是根據(jù)情況按F10還是F11哦!

 

由于大家在實(shí)際的開發(fā)工作當(dāng)中,程序往往比我們的例子程序復(fù)雜很多,比如多個(gè)函數(shù)、嵌套、庫函數(shù)調(diào)用等等,也有誤進(jìn)入函數(shù)內(nèi)部,或者已經(jīng)排查沒有問題的,如果想盡早結(jié)束此函數(shù)退出回到上一層調(diào)用處,如何實(shí)現(xiàn)呢?答案是:按shift+F11,既可以跳出函數(shù),返回到當(dāng)前斷點(diǎn)函數(shù)調(diào)用的下一步。

好的,講到這里,大家請(qǐng)自行實(shí)驗(yàn),熟練掌握F10和F11以及shift+F11的混合使用!

請(qǐng)大家親自上機(jī)實(shí)驗(yàn)!

 

以上

C語言網(wǎng)提供「C語言、C++、算法競(jìng)賽」在線課程,全部由資深研發(fā)工程師或ACM金牌大佬親授課,更科學(xué)、全面的課程體系,以在線視頻+在線評(píng)測(cè)的學(xué)習(xí)模式學(xué)習(xí),學(xué)練同步,拒絕理論派,真正學(xué)會(huì)編程!還有獎(jiǎng)學(xué)金等增值福利等你!

C語言網(wǎng), 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進(jìn)行授權(quán) , 轉(zhuǎn)載請(qǐng)注明VC6斷點(diǎn)調(diào)試技巧<第二篇>!
喜歡 (79)
[jinyangH@aliyun.com]
分享 (0)
發(fā)表我的評(píng)論
取消評(píng)論
表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
(5)個(gè)小伙伴在吐槽
  1. 有大佬知道把這個(gè)程序裝在系統(tǒng)盤下和裝在其他盤是不是不一樣啊,我的裝在了非系統(tǒng)盤內(nèi),老是跳出彈窗無法正常進(jìn)行調(diào)試,求大佬告知
    SRTNT2019-04-17 17:30 回復(fù)
    • 同問+1
      阿喵2020-04-28 16:38 回復(fù)
    • 當(dāng)時(shí)上課老師還要求我們不裝在系統(tǒng)盤里呢,它承受了太多
      大涵2020-06-19 15:31 回復(fù)
  2. 第一句 include應(yīng)該加上吧,要不然無法組立的
    紅蓮2020-07-15 15:02 回復(fù)
  3. 第一句include需要加上
    珈青凌2020-12-23 09:17 回復(fù)