gcc多线程编译注意问题及gdb调试

使用多线程库在编译时需引用库libpthread.a,因此gcc -o main.o main.c -lpthread(注意-lpthread在后面)

gdb调试

1、程序经过预处理后,即进入编译阶段,进入编译阶段,首先声明编译:

2、格式:gcc-o test test.c -g -O1(-g -O1在此处不可少,不然无法执行l、b等命令)

3、进入编译: gdb test(若是-o test.o则此处应是gdb test.o)

4、显示需要编译调试的源程序:l(list)//listfilename

5、设置断点:bbreak)行号

6、查看设置的断点:info b

7、运行调试程序:run

8、跳到下一个断点:ccontinue

9、单步运行的话使用:nnext/s(stepinto)跳到函数体//区别在与:next执行函数体,而step不执行函数体

10、调试过程中查看某个变量的变化:print I(每次都要手动设置)//display i(设置一次一直尾随,直到用“undisplay变量标号”停止)

11、退出当前的调试使用finish跳出函数

12、清楚断点clear行号

13Delete断点信息序号//删除所有断点或设置的要删除的断点

14、退出调试q

15b num if i==20 设置断点的触发条件

16condition num i==50 改变断点的触发条件


你可能感兴趣的:(gcc多线程编译注意问题及gdb调试)