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.
先编译,后运行,最好做到每次编译前都清除上一次编译的缓存,然后重新编译,再运行,反正我就这样,用多了就顺。