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

C語言技巧 ----------調(diào)試----------程序員必備技能

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

作者前言

?

??? ? ? ? ??????????????????????

? ??? ? ? ?作者介紹:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????

? ? ? ??? ??????????????? ? ? ? ? ? ? ??

? ? ? ? ? ??作者id:老秦包你會,? ? ? ? ???

簡單介紹:??????????????????????????????

? ? ? ? ? ? ?喜歡學(xué)習(xí)C語言和python等編程語言,是一位愛分享的博主,有興趣的小可愛可以來互討? ? ? ? ?????????????????

? ? ? ? ? ? ? ? ???個(gè)人主頁::小小頁面??

? ? ? ? ? ? ? ? ? ??gitee頁面:秦大大??

???????????????????????????????????
? ? ? ? ??? 一個(gè)愛分享的小博主 歡迎小可愛們前來借鑒??

_______________________________________________________

______________________________________________________________________

目錄

實(shí)用調(diào)試技巧

????????什么是bug?
????????調(diào)試是什么?有多重要?
????????debug和release的介紹。
????????windows環(huán)境調(diào)試介紹。
????????如何寫出好(易于調(diào)試)的代碼。
????????編程常見的錯(cuò)誤。

-——————————————————————————————————

什么是bug?

計(jì)算機(jī)硬件或者軟件的錯(cuò)誤

調(diào)試是什么?有多重要?

調(diào)試 (英語: Debugging / Debug ),又稱除錯(cuò),是發(fā)現(xiàn)和減少計(jì)算機(jī)程序或電子儀器設(shè)備中程序
錯(cuò)誤的一個(gè)過程。
調(diào)試的基本步驟
1. 發(fā)現(xiàn)程序錯(cuò)誤的存在
2. 以隔離、消除等方式對錯(cuò)誤進(jìn)行定位
3. 確定錯(cuò)誤產(chǎn)生的原因
4. 提出糾正錯(cuò)誤的解決辦法
5. 對程序錯(cuò)誤予以改正,重新測試

DebugRelease的介紹。

Debug 通常稱為調(diào)試版本 ,它包含調(diào)試信息,并且不作任何優(yōu)化,便于程序員調(diào)試程序。
Release 稱為發(fā)布版本 ,它往往是進(jìn)行了各種優(yōu)化,使得程序在代碼大小和運(yùn)行速度上都是最優(yōu)
的,以便用戶很好地使用。
簡單理解為Debug是程序員使用的,Release是用戶使用的
下面我們使用代碼分別利用這兩個(gè)進(jìn)行執(zhí)行

?Debug:

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言
Release:
C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

?可以看到兩者區(qū)別,這里簡單的介紹一下這兩個(gè)

Windows環(huán)境調(diào)試介紹

快捷鍵
F5
啟動調(diào)試,經(jīng)常用來直接跳到下一個(gè)斷點(diǎn)處。
F9
創(chuàng)建斷點(diǎn)和取消斷點(diǎn)
斷點(diǎn) 的重要作用,可以在程序的任意位置設(shè)置斷點(diǎn)。
這樣就可以使得程序在想要的位置隨意停止執(zhí)行,繼而一步步執(zhí)行下去。
C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

?斷點(diǎn)一般配合f5進(jìn)行運(yùn)行,跳到下一次斷點(diǎn)(邏輯斷點(diǎn)),

F10
逐過程,通常用來處理一個(gè)過程,一個(gè)過程可以是一次函數(shù)調(diào)用,或者是一條語句。
F11
逐語句,就是每次都執(zhí)行一條語句,但是這個(gè)快捷鍵可以使我們的執(zhí)行邏輯 進(jìn)入函數(shù)內(nèi)部 (這是最
長用的)。
CTRL + F5
開始執(zhí)行不調(diào)試,如果你想讓程序直接運(yùn)行起來而不調(diào)試就可以直接使用

調(diào)試的時(shí)候查看程序當(dāng)前信息

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

?上圖是要調(diào)試之后才能查看

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

調(diào)用堆棧?

反應(yīng)的是函數(shù)的調(diào)用邏輯,像棧一樣后進(jìn)先出,反應(yīng)函數(shù)調(diào)用的順序

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

多多動手,嘗試調(diào)試,才能有進(jìn)步。
一定要熟練掌握調(diào)試技巧。
初學(xué)者可能 80% 的時(shí)間在寫代碼, 20% 的時(shí)間在調(diào)試。但是一個(gè)程序員可能 20% 的時(shí)間在寫
程序,但是 80% 的時(shí)間在調(diào)試。
我們所講的都是一些簡單的調(diào)試。
以后可能會出現(xiàn)很復(fù)雜調(diào)試場景:多線程程序的調(diào)試等。
多多使用快捷鍵,提升效率

地址的使用

1.棧區(qū)上內(nèi)存使用的習(xí)慣是:從高地址向低地址使用(先使用高地址再使用低地址)

2.數(shù)組隨著下標(biāo)的增長,地址是由低到高變化的

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

優(yōu)秀的代碼

1. 代碼運(yùn)行正常? 2. bug很少? 3. 效率高? 4. 可讀性高? ? 5. 可維護(hù)性高? ? 6. 注釋清晰? ? ?7. 文檔齊全
常見的 coding 技巧:
1. 使用 assert
2. 盡量使用 const
3. 養(yǎng)成良好的編碼風(fēng)格
4. 添加必要的注釋
5. 避免編碼的陷阱。
代碼1:
#include<stdio.h>
#include<string.h>
#include<assert.h>
void copy(char arr1[], char arr2[], int sz)
{
	if (arr1 != NULL || arr2 != NULL)
	{
		return;
	}
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		arr1[i] = arr2[i];
	}
}
void copy2(char arr1[], char arr2[])
{

	assert(arr1 != NULL);
	assert(arr2 != NULL);
	int i = 0;
	int j = 0;
	while (arr1[i++] = arr2[j++])
	{
		;
	}
}
int main()
{
	char arr1[] = "123456789";
	char arr2[] = "abcdefg";
	//strcpy(arr1, arr2);
	int sz = sizeof arr2 / sizeof(char);
	//copy(arr1, arr2, sz);
	copy2(NULL, arr2);
	printf("%s", arr1);
	return 0;
}

這里使用了assert.h頭文件中的assert(表達(dá)式),表達(dá)式為假就會報(bào)錯(cuò)

計(jì)算表達(dá)式,當(dāng)結(jié)果為FALSE時(shí),打印診斷消息并中止程序。

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

const修飾變量的時(shí)候,是在語法層面限制了變量修改,但本質(zhì)上變量不是常量,是一種不能修改的變量,但是有一種情況,就是通過指針修改

#include<stdio.h>
int main()
{
	const int num = 120;
	int* p = &num;
	*p = 10;
	printf("%d", num);
	return 0;
}

本來const修飾指針變量,使變量不能修改,但是通過指針就能修改,這個(gè)不符合我們的預(yù)想的

如果const修飾指針變量的就會有兩種寫法

1. const 放在* 左邊

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

int const* ?p = &num; 這種寫法也可以

?可以看出當(dāng)const放在*前面修飾。修飾的是*p,使*p不能修改

2. const 放在* 右邊

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言

?可以看出當(dāng)const 放在* 的后面限制的是p,使p不能修改

編程常見的錯(cuò)誤

編譯型錯(cuò)誤

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

鏈接型錯(cuò)誤

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

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

?借助調(diào)試,逐步定位問題。最難搞文章來源地址http://www.zghlxwxcb.cn/news/detail-640929.html

C語言技巧 ----------調(diào)試----------程序員必備技能,開發(fā)語言,c語言
有時(shí)我們要注意一下是否是未導(dǎo)入頭文件,調(diào)用函數(shù)的函數(shù)名有誤?

到了這里,關(guān)于C語言技巧 ----------調(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)文章

  • 解密算法王國:揭秘程序員必備技能(超詳細(xì))

    解密算法王國:揭秘程序員必備技能(超詳細(xì))

    一個(gè)程序員一生中可能會邂逅各種各樣的算法,但總有那么幾種,是作為一個(gè)程序員一定會遇見且大概率需要掌握的算法。今天就來聊聊這些十分重要的“必抓!”算法吧~ 作為程序員,掌握算法是至關(guān)重要的。算法是解決問題和優(yōu)化程序性能的核心。在這篇博客中,我們將

    2024年02月16日
    瀏覽(23)
  • 程序員必備的面試技巧

    “程序員必備的面試技巧,就像是編寫一段完美的代碼一樣重要。在面試戰(zhàn)場上,我們需要像忍者一樣靈活,像偵探一樣聰明,還要像無敵鐵金剛一樣堅(jiān)定。只有掌握了這些技巧,我們才能在面試的舞臺上閃耀光芒,成為那個(gè)令HR們心動的程序猿!” 提醒:在發(fā)布作品前,請

    2024年01月21日
    瀏覽(27)
  • C++程序員必備的面試技巧

    C++程序員必備的面試技巧

    ? “程序員必備的面試技巧,就像是編寫一段完美的代碼一樣重要。在面試戰(zhàn)場上,我們需要像忍者一樣靈活,像偵探一樣聰明,還要像無敵鐵金剛一樣堅(jiān)定。只有掌握了這些技巧,我們才能在面試的舞臺上閃耀光芒,成為那個(gè)令HR們心動的程序猿!” 在準(zhǔn)備C++程序員面試時(shí)

    2024年02月01日
    瀏覽(23)
  • “程序員求職攻略:IT技術(shù)崗面試的必備技巧“

    “程序員求職攻略:IT技術(shù)崗面試的必備技巧“

    人活一世,不在乎朋友多少,不問財(cái)富幾車,關(guān)鍵看在你最困難的時(shí)候,是否有一個(gè)伸出援手的人,一顆暖遍全身的心。 在現(xiàn)代社會,IT技術(shù)在各行各業(yè)的應(yīng)用越來越廣泛,因此IT技術(shù)人才也備受重視。作為一名程序員,在求職過程中,面試是我們必須面對和應(yīng)對的一項(xiàng)重要

    2024年02月14日
    瀏覽(17)
  • 程序員推薦!JetBrains IDEs使用技巧與必備插件

    JetBrains是耳熟能詳?shù)能浖_發(fā)工具提供商,旗下的IDE集成開發(fā)環(huán)境被廣泛應(yīng)用于不同的開發(fā)領(lǐng)域。本文將向新手介紹JetBrains IDEs的基本知識和常用功能。 什么是JetBrains IDEs? JetBrains IDEs是一套面向軟件開發(fā)的集成開發(fā)環(huán)境,可以為Java、Python、PHP、C#、Ruby等多種編程語言提供全

    2024年02月11日
    瀏覽(20)
  • 程序員必備技巧:.gitignore文件怎么寫和最佳實(shí)踐

    當(dāng)你在Git倉庫上工作時(shí),創(chuàng)建一個(gè).gitignore文件告訴Git在提交更改時(shí)忽略哪些文件和目錄是很重要的。這可以幫助保持倉庫的干凈并防止不必要的文件被提交。在這篇博客中,我們將介紹一些創(chuàng)建.gitignore文件的最佳實(shí)踐,并提供一個(gè)推薦的.gitignore文件,供您作為起點(diǎn)使用。

    2024年02月05日
    瀏覽(15)
  • Java程序員必備的面試技巧與高頻面試題,內(nèi)有面經(jīng)

    Java程序員必備的面試技巧與高頻面試題,內(nèi)有面經(jīng)

    作為一名Java程序員,面對職業(yè)生涯中不可避免的面試環(huán)節(jié)時(shí),準(zhǔn)備全面且具有針對性的面試技巧是非常關(guān)鍵的。 以下是根據(jù)我的面試百場總結(jié)的一些建議和技巧,我將從“面試經(jīng)歷”和“面試技巧”兩個(gè)方面來幫助你更好地準(zhǔn)備Java技術(shù)面試。 文章目錄 Q1 - 能否自我介紹一下

    2024年02月02日
    瀏覽(23)
  • 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日
    瀏覽(21)
  • Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(上)

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

    ?? 鴿芷咕 :個(gè)人主頁 ??? 個(gè)人專欄 :《C語言初階篇》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,前面給大家介紹了Visual Studio 2022 下載與安裝今天我們就來介紹一下 VS2022 最強(qiáng)大的功能調(diào)試? ?? ?? 調(diào)試可以說是一個(gè)

    2024年02月15日
    瀏覽(22)
  • Visual Studio 2022 程序員必須知道高效調(diào)試手段與技巧(中)

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

    ?? 鴿芷咕 :個(gè)人主頁 ??? 個(gè)人專欄 :《C語言初階篇》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,上一章給大家介紹了 Visual Studio 2022 快捷鍵和 版本介紹,今天就來給大家來點(diǎn)干貨 ?? ?? 今天來正式來調(diào)試環(huán)節(jié),帶大

    2024年02月15日
    瀏覽(89)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包