C語言程式設計中軟體除錯主要採取哪些方法

2022-01-02 02:48:57 字數 5115 閱讀 3713

1樓:匿名使用者

程式可以執行並不表示程式就是正確的

編譯和連線都正確,只能說明編譯器對他進行語法等檢查

沒發現他的錯誤而已,而既然執行結果是錯誤的,那就是說明一點

可能是你的演算法設計的不當,不能正確的解決問題,這樣發生的錯誤

是執行期錯誤,在編譯連線的過程不會出錯的,不過幸好,編譯器也為我們

提供了一些解決類似執行期錯誤的一些除錯工具,通過debug,進行單步調

試下,觀察變數值,看看是不是你想要的等等解決此類問題,具體如何單步

除錯見下面:

不過你先要設定斷點,然後按下面操作

在vc++6.0中的單步除錯:

除錯重要的幾個鍵:

f9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點.

f5除錯狀態執行程式,程式執行到有斷點的地方會停下來.

f10單步執行程式.

ctrl+f10執行到游標所在行.

f11和f10的區別是,如果當前執行語句是函式呼叫,則會進入函式裡面.

shift+f11跳出當前所在函式.

步驟:1,儲存為c或c++檔案

2,根據斷點除錯找到錯誤處。

3,採用f10或f11單步除錯找到精確的錯誤處。其中f10是跳過函式盜用,f11是進入函式體除錯。一般是先用f10,確定函式輸入輸出是否正確(與自己想的一樣),如不一樣,則用f11進入函式體一步一步除錯。

4,在除錯過程中,肯定得監視程式中的變數。在vc6.0的右下角有乙個watch視窗,專門用來設定監視變數。

具體怎樣設定自己體會吧。在除錯過程中,滑鼠輕輕放在變數上也會顯示該變數的值

5,vc6.0專門為除錯設定了工具箱以方便除錯的進行,開啟的方法如下。右鍵——〉在debug(或除錯)選擇項的勾勾上。ok

2樓:匿名使用者

這個跟你用什麼偵錯程式有一定關係

如果你用vc6.0的偵錯程式,那麼可能你的除錯手段就會受一定限制,vc下主要就是

單步,步入,堆疊和暫存器的檢視,變數的檢視,普通斷點,條件斷點,記憶體訪問斷點;

如果你用ollydbg,那麼除了上述手段外,還有硬斷點,記憶體讀/寫斷點等

如果你用windbg的話,手段也很豐富,就是命令多了點,可能需要你去記;

大多數偵錯程式的常用手段就是我上面說的那些了

c語言中的除錯有什麼作用

3樓:匿名使用者

除錯是c語言的乙個重要的功能組成部分,可以用來發現程式出存在的回問題,快速定位答

及解決。同時對於初學者,除錯也可以輔助更好的理解程式。

1 除錯的功能:

在除錯中,程式的每一步的執行均是可控的,可以通過單步執行,設定斷點等,控制程式的執行節奏,並在每次暫停時,都可以檢視當前有效變數的具體值。

2 對初學者的意義:

除錯中可以很明確的看到程式的執行過程,以及每一步產生的變化,對於初學者,這樣直觀的體驗自然要比讀**更容易理解,而看到現象之後,再回想理論也更容易。

3 對程式設計者的意義:

當程式的執行結果與期望不符時,可以通過除錯,檢視每步的具體執行及結果,因此可以定位出到底是哪個操作或語句與預期的不同,從而快速定位,再針對性分析**,實現快速解決問題的目的。

事實上,除錯最初就是為了解決問題而產生的,除錯的英文為debug, 而bug就是程式中存在的問題,debug就是解決掉這些問題。

4樓:匿名使用者

說白了就是對你寫的程式

5樓:兜裡有兩塊糖

c語言的除錯功能很有用,當你發現你編譯通過,連線也通過以後,就是執行不出正確的結果時,你最好通過debug來單步跟蹤程式和變數的變化。

這樣很容易找到問題的所在。

6樓:匿名使用者

相當bai有用

。在你編的程du

序,編譯後出錯了,你又找

zhi不出。就用debug。去dao糾錯。

這個debug的功回能其實就是把答每一步產生的變數值替你列出來。讓你一步步檢查。當然你要檢查的變數要你先選定好。

這是它的原理,還有一點點細節,你自己去試吧。

不過這個也不會一直用,因為邏輯或者是語法上的錯誤大多數情況下,可以直接看出來。沒必要用debug

7樓:匿名使用者

c語言中的除錯一般是檢測一下當前所編輯的語言格式是否正確。

8樓:匿名使用者

比如你定義乙個陣列,copy那麼你想在執行bai

9樓:伊·梵

程式執行得不到正確結果或者有bug就需要用了

10樓:匿名使用者

除錯一般能檢查出一些容易解決的錯誤

11樓:匿名使用者

沒什麼用

可以調一些你喜歡的型別的字

一般不用

12樓:匿名使用者

scanf("%d,%d",&a,&b); 憑經驗吧,我也不會什麼呢。

c語言 怎麼除錯程式

13樓:肥仙女

一、在keil中除錯c語言程式

1、開啟我們的程式,點選選單欄右側的start/stopdebug..按鈕,進入除錯模式,如下圖。

2、左側為暫存器視窗,右上方是彙編視窗,我們可以看到各個暫存器的數值和c語言對應的彙編**,如下圖。

3、點選單步執行按鈕或者點選f11、f10,都可以進入單步執行模式,方便我們看程式流程和執行步驟,如下圖。

4、點選選單欄的串列埠按鈕,我們來除錯串列埠的輸出,這裡有很多對應的除錯工具可供選擇,如下圖。

5、單步執行,我們看到各個視窗的變化,當直行到輸出時,可以看到串列埠視窗有相應的字元輸出,如下圖。

6、再次點選start/stop按鈕來停止除錯,如下圖。

二、用vs2012對c語言進行除錯

1、要對程式設計環境左邊的一條豎直的空開的地方進行點選,點選的是你要除錯的相應的語句。

2、點選視窗上方的工具欄的除錯介面,點選逐語句或逐過程,都沒關係。

3、開始除錯,在除錯過程中每個除錯語句都要按一次f5鍵,在鍵盤上按下,你可以看到執行的當前的語句中,左邊位置的紅點有個箭頭。

4、在每次除錯語句中,變數值發生改變時,下方的小介面都會顯示出來,看是否正確。

5、不斷地重複這個步驟,知道發現錯誤的地方為止。

6、發現錯誤後,停止除錯,修改相應的**,即完成此次除錯。

14樓:帥出新高度的你

方法/步驟

1.要對程式設計環境左邊的一條豎直的空開的地方進行點選,點選的是你要除錯的相應的語句

2.點選視窗上方的工具欄的除錯介面,點選逐語句或逐過程,都沒關係3.開始除錯,在除錯過程中每個除錯語句都要按一次f5鍵,在鍵盤上按下,你可以看到執行的當前的語句中,左邊位置的紅點有個箭頭

4.在每次除錯語句中,變數值發生改變時,下方的小介面都會顯示出來,看是否正確

5.不斷地重複這個步驟,知道發現錯誤的地方為止6.發現錯誤後,停止除錯,修改相應的**,即完成此次除錯

15樓:吉祥二進位制

簡單來說,有兩種方式,一種是原始碼debug,即分析原始碼來找出bug位置,一般使用printf()列印出程式執行每一步的資訊,一種是可執行檔案debug,需要使用偵錯程式來進行。

1、原始碼debug

類似於下面的原始碼,主要通過程式執行時輸出的資訊,來定位bug出現的位置,然後再修改原始碼。

#include

void f()

int main()

2、可執行檔案除錯,windows平台常用的就是vs/vc自帶的除錯,另外乙個就是微軟自家開發的偵錯程式windbg。linux平台以gdb為常用。

ide自帶的偵錯程式以vc6.0為例,編寫完**後,按快截鍵盤f11,即可進入除錯,此時右鍵,選擇「go to  disassembly"即可檢視到程式的反彙編** 。一般這種情況,主要是為了對c語言進行反彙編學習。

windbg的功能非常多,可以進行原始碼除錯、可以除錯可執行檔案、還可以進行核心除錯,也可以除錯dump檔案,用的多了,自然熟悉,要除錯可執行檔案,只需要點選」file"在彈出的對話方塊中選擇「open executeable",然後找到自己要除錯的程式即可。

linux常用的是gdb偵錯程式,值得注意的是,要使用gdb除錯,在使用gcc或者g++編譯c/c++檔案時,需要新增-g引數才可以生成符號表。下圖是用gdb分析c++中變數分布的一張截圖,大體上看一下長什麼樣,用的多了自然熟悉,不需要可以去學習。

16樓:初懷雨步申

當然有,你下個就是了,有兩個除錯c比較好用的東西,乙個cfree,要註冊的,不過,你不註冊也可以用,你不用除錯,直接編譯,它的效果是一樣的。

乙個是wintc,這兩個東西對初學者特別好用,不像tc介面那麼可怕。9月

17樓:焦榮花全碧

按f10進入除錯

然後按f10會一步步地執行

f11是進入函式

比如你在main函式裡呼叫了fun()函式如果按f10的話就直接返回fun()函式的結果了如果按f11就是進入這個fun()函式裡一步步地執行

18樓:匿名使用者

vc6.0的話,有乙個手性的按鈕(圖示最右邊),就是加入斷點,然後你點它左邊的go圖示,就進入除錯模式了,可以檢視各個變數的值。

19樓:匿名使用者

要看你用的什麼編譯器。一般都有break的按鈕什麼的。設定個斷點,然後全速或者單步執行到斷點處。

20樓:匿名使用者

你是編譯的時候出錯還是執行的時候出錯?

如果是編譯的時候出錯,看它提示你哪行出錯, 雙擊提示就到那行了如果是執行的時候出錯,你要先設定乙個斷點,你在程式一開始找一行**按f9,這樣就設定了乙個斷點,然後按f5執行程式,程式執行到斷點會停下來,然後你只要一步一步的按f10,看**執行到**出錯就行了

下面是你可以參考的一些除錯按鍵:

f5 開始除錯

f9 下斷點

f10 跳步執行

f11 單步執行

shift+f5 結束除錯

21樓:

f9 設定斷點

f5 進入除錯

f10 單步執行

f11 進入函式

c語言程式設計軟體有哪些,常用的c語言程式設計軟體有哪些??

電腦上必備的軟體有哪些?介紹一下c語言的程式設計軟體 windows下首選vs,版本至bai少vs2005以上,或者用最新的vscode,不du 過需要自己配外掛程式,好zhi處是免費,如果做dao微控制器c開發首選eclipse,linux下如果做微控制器首選eclipse,其次是clion。ec...

程式語言C 開發的主要軟體是什麼

用啥軟體啊 直接在記事本裡面寫 拿到linux 下用gcc或者g 編譯執行 主要做底層開發,要大學數學建模要和,邏輯思維要好一些,挺難的,你看看吧 5916 90297 c 一般用來開發底層東西的,不過也有提供頁面開發 microsoft visual c 安卓app主要用什麼程式語言的 現在程式設...

c語言程式設計軟體如何變中文模式,C語言程式設計軟體有沒有中文版

換乙個程式設計軟體就好了 有一些是不支援中文的 好好學英語吧,想學程式設計英語是必須的 怎麼程式設計中文軟體,就是用c語言,編中文的軟體 c不支援中文程式設計,c 支援,如果要用c編輯中文程式的話只有採用c的影象模式,按照畫圖的模式來程式設計,就是把每個字畫出來,那樣就能在圖形模式下顯示漢字了,當然...