可执行文件的调试

Linux的两种版本

debug版本          调试版本          程序开发人员使用版本

                            链接:合并符号表,合并section调整段,大小和段起始位置

release版本        发行版本          提供给用户使用

                           gcc默认生成release版本

而gdb调试只能调试debug版本

因此我们须在编译过程中将信息添加到中间文件中

即:gcc   -c    main.c   -g

       gcc    main.c    -o    debug

      一步生成可执行文件:gcc   main.c   -o    debug    -g

gbd下的相关命令:

 l / list  显示源代码

list   filename:num

b   line     给指定的行添加一个断点

b   filename:line   给指定的文件的指定行添加断点

b   fun     给指定的函数实现体

info   b     显示断点信息

d   bpnum      删除指定断点

r / run   启动调试

n / next      执行到下一行

p    var      显示变量的值

display    var    显示变量(每次用户执行都会将之前设定的显示的内容显示出来)

q        退出调试

s        进入函数运行

finish       退出函数

x         查看内存

x   /nfu    addr

n:显示数据的个数     4

f:显示数据的进制数

     x  16 、d  10 、o   8 、t   2 、c   字符、f    浮点数

u:每个数字代表几个字节的数据

      b   单字节     h   双字节     w   四字节     g八字节 

bt        显示函数调用栈

猜你喜欢

转载自blog.csdn.net/weixin_42736024/article/details/81333366