gcc中命令学习

gcc中的一些信息

 

todd@todd-virtual-machine:~/test/test03$ gcc -c hello.c只编译和激活生成.o的目标代码文件

todd@todd-virtual-machine:~/test/test03$ gcc -S hello.c     生成汇编代码文件

todd@todd-virtual-machine:~/test/test03$ gcc -E hello.c     直接预处理,并将预处理结果显示

todd@todd-virtual-machine:~/test/test03$ gcc -g hello.c   生成a.outddb调试信息

 

todd@todd-virtual-machine:~/test/test03$ ls

a.      out  hello.c hello.o  hello.s

todd@todd-virtual-machine:~/test/test03$ gdb a.out  调试   //类似于windows在keil软件进行仿真测试,keil下可以查看寄存器的使用状况

以下是在查看状态下的命令信息

(gdb) break main  在main位置设置断点

Breakpoint 1 at 0x400531: file hello.c,line 4.

(gdb) r                         程序运行到main位置

Starting program:/home/todd/test/test03/a.out

 

Breakpoint 1, main () at hello.c:4

4                printf("helloworld!\n");

(gdb) l                          查询7行程序信息

1       #include<stdio.h>

2       intmain()

3       {

4                printf("helloworld!\n");

5                return0;

6       }

7      

(gdb) l 5                       则显示第5行附近的10行信息

1       #include<stdio.h>

2       intmain()

3       {

4                printf("helloworld!\n");

5                return0;

6       }

7      

(gdb) b 3                     在第三行设置断点

Note: breakpoint 1 also set at pc 0x400531.

Breakpoint 2 at 0x400531: file hello.c,line 3.

(gdb) info break        info查看断点

Num    Type           Disp EnbAddress            What

1      breakpoint     keep y   0x0000000000400531 in main at hello.c:4

         breakpointalready hit 1 time

2      breakpoint     keep y   0x0000000000400531 in main at hello.c:3

(gdb) next       输入nextn单步调试程序。

helloworld!

5                return0;

(gdb) n   单击一次单步执行一次

6       }

(gdb) n 3  单击一次单步执行3

9       }

(gdb) c    ccontinue的简写,退出循环可以是用c

 

P sum 时刻监视sum的值(p是print的缩写)

 

(gdb) q     按下q 退出调试

todd@todd-virtual-machine:~/test/test03$ ls

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值