国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章

這篇具有很好參考價(jià)值的文章主要介紹了Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 鴿芷咕:個(gè)人主頁

??? 個(gè)人專欄:《C語言初階篇》 《C語言進(jìn)階篇》
??生活的理想,就是為了理想的生活!

?? 前言

????hello! 各位寶子們大家好啊,上一章給大家介紹了 Visual Studio 2022功能使用,和一些常用快捷鍵!
????今天來正式來調(diào)試環(huán)節(jié),帶大家看看程序出現(xiàn)錯(cuò)誤時(shí)如何進(jìn)行調(diào)試!廢話說下面開始實(shí)踐。
????本期文章收錄在《學(xué)習(xí)工具》,大家有興趣可以看看吶!
???? 歡迎鐵汁們 ?? 點(diǎn)贊 ?? 收藏 ?留言 ??!

?? 注:前一篇文章在這里《高效調(diào)試手段與技巧(中)》

?? 一些調(diào)試的實(shí)例

?? 實(shí)例一

???? 求 1!+2!+3! …+ n! ;不考慮溢出。我們先來看一下這段代碼有什么問題?這時(shí)候我們?nèi)绻斎?,期待輸出9,但實(shí)際輸出的是15。

  • 這時(shí)就要調(diào)試一下看看是哪里出現(xiàn)問題了
  • 首先推測問題出現(xiàn)的原因。初步確定問題可能的原因最好。

?? 代碼演示:

#include <stdio.h>
int main()
{
	int i = 0;
	int sum = 0;//保存最終結(jié)果
	int n = 0;
	int ret = 1;//保存n的階乘
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++)
		{
			ret *= j;
		}
		sum += ret;
	}
	printf("%d\n", sum);
	return 0;
}

?? 代碼結(jié)果:
Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 調(diào)試演示

首先我們可以確定是結(jié)果出現(xiàn)的問題,而結(jié)果又是循環(huán)來計(jì)算,我們就可以進(jìn)去循環(huán)然后把監(jiān)視窗口調(diào)開看看是不是這里的問題?

  • 3的階乘應(yīng)該是 (1*1)+(1*2)+(1*2*3) =9

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++
這里我們通過調(diào)試就可以看到,我們的循環(huán)在第三次的時(shí)候就出現(xiàn)錯(cuò)誤了。本來 ret 里面存儲的是 3 的階乘 9 可結(jié)果卻是 12

  • 這里可以得出我們程序的錯(cuò)誤了
  • ret 這個(gè)變量未初始化導(dǎo)致結(jié)果與預(yù)想不同

?? 代碼改進(jìn):
Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 實(shí)例二(nice公司的筆試題)

前面關(guān)于我們結(jié)果與預(yù)想不一樣!如何調(diào)試這次我們來看一下 nice公司的筆試題 這道筆試題看看!

  • 這道題我們該如何調(diào)試
  • 看上去這個(gè)代碼沒什么問題,頂多就是多循環(huán)了一次
  • 可結(jié)果卻是無限循環(huán)

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 注:由于nice公司的筆試題,是在linux環(huán)境下的,所以博主對代碼做了一個(gè)調(diào)整讓他可以在Windows 環(huán)境下運(yùn)行。

?? 代碼演示:

本段代碼需要再Windows 環(huán)境下調(diào)位 32位機(jī)器才能運(yùn)行,否則越界容易出現(xiàn)程序崩潰!

#include <stdio.h>
int main()
{
    int i = 0;
    int arr[10] = { 0 };
    for (i = 0; i <= 12; i++)
    {
        arr[i] = 0;
        printf("hehe\n");
    }
    return 0;
}

?? 代碼結(jié)果:

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++
這里就可以看到我們在死循環(huán)的打印hehe!

?? 深度解析為什么會死循環(huán) (nice公司的筆試題)

這時(shí)就要用到我們調(diào)試?yán)锩娴膬?nèi)存功能了,其實(shí)這里 筆試題 為什么死循環(huán)的原因很簡單,我們前面說過臨時(shí)變量是存在 棧區(qū) 的,而 棧區(qū) 的使用習(xí)慣是;

  • 先使用高地址的空間在使用地地址的空間
  • 所以變量 i 就在數(shù)組上面一點(diǎn)創(chuàng)建的
  • 那么我們就可以畫這樣一幅圖
    Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 注:棧區(qū)的講解在《C/C++的內(nèi)存分布》有過詳細(xì)講解大家可以去看看!

?? 觀察內(nèi)存

我們這里就可以調(diào)試一下,觀察臨時(shí)變量 i 和臨時(shí)變量 arr 是不是在棧區(qū)是這樣存儲的!
這里為了觀察方便就把數(shù)組初始化的時(shí)候先放上值!

  • 取地址 i 得到的地址是 0x00A6FBC0
  • 取地址arr 得到的地址是 0x00A6FBF0

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++
這里就可以看到我們臨時(shí)變量 arri 在內(nèi)存 棧區(qū)中地區(qū)是這樣存儲的!當(dāng)我們循環(huán)第13次時(shí) arr[13] 越界!

  • 就會找到我們臨時(shí)變量 i 的地址值處從而
  • 改為 0 開始無限循環(huán)

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++
?? 總結(jié):所以我們在使用數(shù)組時(shí)一定要注意數(shù)組越界這個(gè)問題,不然就會引發(fā)bug。

??如何寫出好(易于調(diào)試)的代碼

?? 優(yōu)秀的代碼:

  • 代碼運(yùn)行正常
  • bug很少
  • 效率高
  • 可讀性高
  • 可維護(hù)性高
  • 注釋清晰
  • 文檔齊全

??編程常見的錯(cuò)誤

?? 編程常見的錯(cuò)誤:

直接看錯(cuò)誤提示信息(雙擊),解決問題?;蛘邞{借經(jīng)驗(yàn)就可以搞定。相對來說簡單。

  • 通俗的講就編譯器下面的提示

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 編譯型錯(cuò)誤

?? 鏈接型錯(cuò)誤

看錯(cuò)誤提示信息,主要在代碼中找到錯(cuò)誤信息中的標(biāo)識符,然后定位問題所在。一般是標(biāo)識符名不存在或者拼寫錯(cuò)誤。

  • 這里就是鏈接型錯(cuò)誤,一般程序會直接提示

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

?? 運(yùn)行時(shí)錯(cuò)誤

這個(gè)就屬于我們上面的 (nice公司的筆試題)為什么會無限循環(huán)這個(gè)就屬于運(yùn)行錯(cuò)誤!

Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++

??全篇總結(jié)

? 歸納:
?? 好了以上就是關(guān)于調(diào)試給大家演示的調(diào)試實(shí)例,大家看完了也要用起來?。≈挥杏闷饋聿胖雷约赫莆樟藳]!
看到這里了還不給博主扣個(gè):
?? 點(diǎn)贊??收藏 ?? 關(guān)注!

?? ?? ?? ?? ???? ?? ?? ?? ?? ??
拜托拜托這個(gè)真的很重要!
你們的點(diǎn)贊就是博主更新最大的動力!
有問題可以評論或者私信呢秒回哦。
Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章,學(xué)習(xí)工具,visual studio,面試題,調(diào)試技巧,開發(fā)工具,c++文章來源地址http://www.zghlxwxcb.cn/news/detail-615611.html

到了這里,關(guān)于Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(下)終章的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python程序員Visual Studio Code指南5調(diào)試

    Python程序員Visual Studio Code指南5調(diào)試

    當(dāng)運(yùn)行程序時(shí)終端輸出錯(cuò)誤時(shí),可以參考編輯器中的\\\"問題\\\"面板來解決遇到的問題。不過,并非所有錯(cuò)誤都會導(dǎo)致錯(cuò)誤??赡艹霈F(xiàn)的情況是,程序執(zhí)行成功,但輸出結(jié)果與預(yù)期不同。出現(xiàn)這種情況時(shí),下一步就是找出程序中的錯(cuò)誤。這個(gè)過程被稱為調(diào)試。 您可以嘗試通過注釋

    2024年04月12日
    瀏覽(27)
  • Python程序員Visual Studio Code指南3 編輯代碼

    Python程序員Visual Studio Code指南3 編輯代碼

    Visual Studio Code提供了許多適用于所有編程語言的標(biāo)準(zhǔn)編輯功能。 快速修復(fù) 代碼補(bǔ)全 定義 聲明 格式化 語法 重構(gòu) 代碼片段 這些內(nèi)置的編輯功能減少了編輯代碼所需的手動任務(wù)和鍵入次數(shù),從而節(jié)省了時(shí)間。 Python擴(kuò)展擴(kuò)展了代碼編輯功能。有了Python擴(kuò)展,導(dǎo)入庫只需極少的工

    2024年02月12日
    瀏覽(26)
  • Visual Studio實(shí)用調(diào)試技巧---讓你成為高端的程序員

    Visual Studio實(shí)用調(diào)試技巧---讓你成為高端的程序員

    ? ??博客主頁:江池俊的博客 ??專欄推薦:?C語言初階之路 ?C語言進(jìn)階之路 ?數(shù)據(jù)結(jié)構(gòu)探索 ??代碼倉庫:江池俊的代碼倉庫 ??? 社區(qū):GeekHub社區(qū) ? ??歡迎大家點(diǎn)贊??評論??收藏? ?? 如果覺得博主的文章還不錯(cuò)的話,請點(diǎn)贊??收藏?? 三連支持一下博主?? 在計(jì)

    2024年02月14日
    瀏覽(22)
  • Python程序員Visual Studio Code指南4管理項(xiàng)目和協(xié)作

    Python程序員Visual Studio Code指南4管理項(xiàng)目和協(xié)作

    在項(xiàng)目上下文中管理源代碼,需要能夠?qū)Ш胶途S護(hù)文件,在適當(dāng)?shù)腜ytho 環(huán)境中工作,以及通過源控制維護(hù)更改。這些任務(wù)中的每一項(xiàng)都可以在Visual Studio Code中作為標(biāo)準(zhǔn)功能或通過安裝擴(kuò)展來實(shí)現(xiàn)。本章將在使用ChatBotAI庫創(chuàng)建的聊天機(jī)器人應(yīng)用程序中探討管理項(xiàng)目的核心功能。

    2024年02月12日
    瀏覽(32)
  • Python程序員Visual Studio Code指南2 Hello World

    Python程序員Visual Studio Code指南2 Hello World

    Visual Studio Code的Python 擴(kuò)展提供了對Python語言的支持,包括語法著色、代碼補(bǔ)全、過濾、調(diào)試、代碼導(dǎo)航和代碼格式化等功能,以及Jupyter Notebook支持等Python特有的功能。您可以在Visual Studio Code的擴(kuò)展視圖中安裝Python擴(kuò)展。與從擴(kuò)展市場安裝的任何擴(kuò)展一樣,你可以在設(shè)置編輯

    2024年02月12日
    瀏覽(31)
  • 【程序員必須掌握哪些算法?】

    【程序員必須掌握哪些算法?】

    一個(gè)程序員一生中可能會邂逅各種各樣的算法,但總有那么幾種,是作為一個(gè)程序員一定會遇見且大概率需要掌握的算法。今天就來聊聊這些十分重要的“必抓!”算法吧~ 本文所介紹的排序算法均以升序?yàn)槔?直接插入排序是從一段數(shù)據(jù)中將一個(gè)數(shù)據(jù)在合適的位置插入。

    2024年02月17日
    瀏覽(96)
  • 程序員必須掌握哪些算法?

    程序員必須掌握哪些算法?

    算法是我非常注重學(xué)習(xí)的一門知識 。下面是我覺得值得學(xué)習(xí)的一些算法以及數(shù)據(jù)結(jié)構(gòu),當(dāng)然, 并且我也整理一些看過不錯(cuò)的文章給大家, 大家也可以留言區(qū)補(bǔ)充。如果覺得不錯(cuò),別忘了點(diǎn)個(gè)贊哦。先上圖,后詳細(xì)解說 一、算法最最基礎(chǔ) 1、時(shí)間復(fù)雜度 2、空間復(fù)雜度 一般最

    2024年02月07日
    瀏覽(90)
  • 【算法】程序員必須掌握的算法?

    【算法】程序員必須掌握的算法?

    ???????? ??Yan-英杰的主頁 悟已往之不諫 知來者之可追 ?? C++程序員,2024屆電子信息研究生 目錄 一:程序員為什么一定要學(xué)會算法 二:常見算法介紹 ????????1、時(shí)間復(fù)雜度 ????????2、空間復(fù)雜度 ? ? ? ? 3. 必會內(nèi)容: ? ? ? ? 4.使用場景 ? ? ? ? 5.??算法學(xué)

    2024年02月12日
    瀏覽(83)
  • 「程序員必須掌握的算法」動態(tài)規(guī)劃「上篇」

    動態(tài)規(guī)劃 (Dynamic Programming) 是一種算法思想,用于解決一些復(fù)雜的問題。本文將介紹動態(tài)規(guī)劃的分類、概念和經(jīng)典例題講解。 動態(tài)規(guī)劃可以分為以下兩種類型: 0/1背包問題:該問題是動態(tài)規(guī)劃的一種基本類型。在背包問題中,有n個(gè)物品可以放入容量為W的背包中,每個(gè)物品有

    2024年02月07日
    瀏覽(110)
  • 「程序員必須掌握的算法」字典樹「上篇」

    前言: 在計(jì)算機(jī)科學(xué)中,字典樹(Trie)是一種有序樹,用于保存關(guān)聯(lián)數(shù)組(有時(shí)我們稱之為“映射”或“字典”)。與二叉查找樹不同,鍵不是直接保存在節(jié)點(diǎn)中,而是由節(jié)點(diǎn)在樹中的位置決定。字典樹的優(yōu)勢在于能夠非??焖俚夭檎?、插入和刪除字符串。 本篇文章將介紹字

    2024年02月07日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包