為了將原來有錯的程序,找出問題所在,因修改源代碼,輸出正確的程序,對于剛學linux的菜鳥來說,使用gdb調試錯誤的信息再合適不過了,如果你是c語言的高手的話,就不必看下述內容了,因為這僅僅適合菜鳥調試幾十行代碼使用的工具。

站在用戶的角度思考問題,與客戶深入溝通,找到溫州網站設計與溫州網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站制作、成都網站建設、外貿營銷網站建設、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、網絡空間、企業郵箱。業務覆蓋溫州地區。
下面我就舉例為大家說明怎樣使用好gdb調試,找到錯誤的信息
#include <stido.h>
#include <string.h>
#include <stdlib.h>
int display1(char *string);
int display2(char *string);
int main()
{
char string[] = "hallo world";
display1(string);
display2(string);
}
int display1(char *string)
{
printf("The original string is %s\n",string);
}
int diaplay2(char *string1)
{
char *string2;
int size,i;
size = (char *)malloc(size+1);
for(i = 0 ; i < size; i++)
{
string2[size - i] = string[i];
}
string2[size+1] = ' ';
printf("the string after is %s\n",string2);
free(string2);
}
當代碼輸入后,進行編譯使用gcc -g test.c test 然后./a.out 發現結果并不是我們想要的結果,應該出現 一行是hello world 另一行是hallo world的倒敘輸出,可是發現第二行卻是為空,這個時候我們就可以采用gdb調試來進行錯誤的查重了。
首先在上述操作命令的基礎之上,在終端面板上輸入gcc test,進入了gcc調試模式,這時我們可以采用命令l來查看源代碼,然后對源代碼設置斷點b + 行數1,b + 行數2,設置好兩個斷點之后,查看斷點信息我們使用info b命令,然后在運行代碼使用r 這時候我們可以采用單步運行的命令n來逐步的進行代碼的運行,查看運行的信息,如果這樣并不能夠查出錯誤信息的話,我們可以進行對變量查看信息,使用 p + 變量名,這時可以看到變量在此時的運行信息,在上述程序中,我們對string2[0]進行查看信息的時候發現string2[0]并沒有值給他,這時string2[0]就會一直為 NULL,故并不會輸出結果,找到錯誤后,退出gdb,使用命令q,重新編輯test.c 改為string2[size - i -1] = string[i];重新編譯gcc -g test.c test ./a.out 最后查看運行結果,發現是你想要的結果,好了,簡單的gdb調試已經結束了。再見!
當前名稱:gdb調試工具的使用
文章路徑:http://www.yijiale78.com/article48/gjphhp.html
成都網站建設公司_創新互聯,為您提供微信小程序、面包屑導航、建站公司、、企業網站制作、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯