linux調試c
編譯一個cpp文件使用gdb中的g++就好了,例如:
g++
-g
a+b.cpp
-o
a+b
這樣會生成一個文件a+b,然後
gdb
a+b
就可以進入gdb來調試程序了。調試的時候比較試用的有:
r
運行
p
a
//a表示一個變數名,可以改成你要查看的,數組、結構體也可以
b
l
//在
l
行設置端點
c
//continue,相當於dev中的跳過
n
//next相當於dev中的下一步
clear
l
//清除l行的端點
q
//退出gdb
我一般調試就用這些啦...還想了解可以去網上查
⑵ linux c語言調試錯誤
int main(int argc, char **argv)
{
char *p;
int i;
p= (char*) malloc(30); //加類型轉換 (char*)
strcpy(p,"not 30 bytes");
printf("p=<%s>\n",p);
if(argc==2){
if(strcmp(argv[1],"-b") ==0) p[0]='a'; //不要漏小括弧,下標最大29,這里用0
else if(strcmp(argv[1],"-f")==0){
p[0]='b';
}
}
printf("%s\n",p); //這里輸出
free(p); //釋放
return 0;
}
輸入 程序名 -b, 輸出:aot 30 bytes
輸入 程序名 -f, 輸出:bot 30 bytes
⑶ linux c語言 網路編程如何調試
可以在兩部主機或者利用抓包軟體測試
⑷ 在Linux中C語言的調試(下面的程序如何調試)
你這程序存在問題太多,你的非零值可以是-1,也可以是大於1,你還是好好看看書吧,而且你跳出來的程序全部扭成一團,看著真不是一般的累
⑸ Linux調試c程序, 用yylex()函數,一遇到「{」就 segmentation fault
數組越界,跟
{
沒關系,
可能是
你{}的數組成員
過多了
例如
char
a[5]={'1','2','c','b','5','6'},
5個空間
6個
就越界
⑹ 在linux里,c程序的編輯、編譯、調試的詳細步驟是什麼
(1)用工具寫好C程序...比如vi
(2)打開終端,進入你存放C語言代碼的路徑 例如: cd /opt/
(3)gcc a.c -o abc 意思是:把你的a.c編譯成abc可執行文件
(4)在當前目錄終端下 運行生成的abc,例如: ./abc 前面的.不要掉了
後面可以用gdb進行調試,你可以自己去學習...這是最基本的!!
⑺ linux eclipse 怎麼調試c程序
eclipse
不是全自動化的編輯軟體,而且開源IDE
的風格都是有規定的:
1.
比如說
入口函數必須是
int
main(int
...)具體我忘了,你可以建一個hello
world
試試,看看模板。
2.
你得看看函數庫齊了沒,如果你沒有添加額外庫,應該沒關系,就跑純C/C++,不過你要是會添加庫沒理由不知道這點
3.
先編譯,後運行,最好做到每次編譯前都清除上一次編譯的緩存,然後重新編譯,再運行,反正我就這樣,用多了就順。