5查看函数名,及其前后5行代码gdbl函数名
6查看该可执行文件所包含调用的相关c文件的指定行数上下5行的代码gdbl源文件名数字
7查看该可执行文件所包含调用的相关c文件的指定函数名上下5行的代码gdbl源文件名:数字
f4.查看调试过程中的其他信息
1查看变量的当前值gdbp变量名
格式控制打印gdbpx变量名
十六进制打印
2查看地址空间的值gdbx地址3打印寄存器的值gdbp寄存器
5.设置断点
1在具体行数设置断点gdbbreak数字
2在具体函数名处设置断点gdbbreak函数名
3查看当前文件设置所有的断点信息gdbi
fobreak
注意:这里break也可以直接使用b来替代
6.程序的运行
1让程序从开始运行直到运行到断点处停止gdbr
f在断点处执行r
2让程序一条一条的向下执行,如果是函数不进入函数gdb
3让程序从断点处继续向下运行,直至碰到下一个断点停止gdbc
4让程序执行下一条命令,如果是函数则进入函数gdbs
7.调试过程中间值的输出
1输出变量值gdbp变量名
2查看函数堆栈gdbbt
8.退出gdb的调试
gdbq
f三、网络调试命令的学习
(一)
etstat网络连接查看命令
1.列出当前所有的连接a
etstatahead10
注意:这里由于显示的内容过于繁多,所以使用head命令只显示输出前10行,如果想只显示输出后
10行,则使用tail10命令。
2.列出当前所有的tcp或者udp连接toru
1列出所有tcp连接
etstatat
2列出所有udp连接
etstatau
3.显示当前连接的ip而不是域名
etstata
head10
f4.只列出监听中的连接l
etstatl
注意:这里不能使用a选项,否则系统会将所有连接列出来而不仅仅是监听端口
5.列出监听端口并显示其进程p
sudo
etstat
lpt
注意:这里要显示进程pid以及进程名,必须使用root权限进行运行,否则root的进程则无法显示pid以及进程名。
etstat
lpt
6.列出监听端口并显示其进程拥有者e
sudo
etstat
let
f注意:如果这里使用
选项者显示的是用户ID号而不是用户名称。
sudo
etstatlet
7.打印出网络中各种数据包的传输情况的统计s
etstats
8.显示内核路由信息r
etstatr
9.打印出系统中所有网络接口网卡信息i
etstati
f注意:如果使用ei选项,则输出结构和ifco
fig命令是一致的。
etstatei
10.显示多播组信息g
etstatg
fr