当前位置 : 首页 » 文章分类 :  开发  »  GDB命令

GDB命令

GDB笔记

gdb命令

回车:直接回车表示重复上一次命令

list

list:从源文件第一行开始例出10行源码,简写为l

break

设置断点,命令简写为b

break filename:linenum
在源文件filename的linenum行处停住。

break filename:function
在源文件filename的function函数的入口处停住。
如果函数名function在整个工程唯一的话,可以直接break function

break *address
在程序运行的内存地址处停住。

break
break命令没有参数时,表示在下一条指令处停住。

info break

查看断点信息,命令简写为 i b

delete

delete [breakpoints] [range…]
删除指定的断点,breakpoints为断点号。如果不指定断点号,则表示删除所有的断点。range 表示
断点号的范围(如:3-7)。其简写命令为d。

continue

continue [ignore-count]
恢复程序运行,直到程序结束,或是下一个断点到来。ignore-count表示忽略其后的断点次数。
命令简写为c

step

单步跟踪,如果有函数调用,他会进入该函数。进入函数的前提是,此函数被编译有debug信息。很
像VC等工具中的step in。后面可以加count也可以不加,不加表示一条条地执行,加表示执行后面
的count条指令,然后再停住。命令简写为s。

next

同样单步跟踪,如果有函数调用,他不会进入该函数。很像VC等工具中的step over。后面可以加
count也可以不加,不加表示一条条地执行,加表示执行后面的count条指令,然后再停住。命令简写为n。

info locals

列出局部变量,简写为 i lo
例如,在ngx_http_billing_module.c:270行停住时

out = 0x1ef2018
cmcf = 0x1f38a08
ctx = <value optimized out>
back_to_source_times = 0
bs = 0x1ef1fe0
cc = <value optimized out>
pclcf = <value optimized out>
stream = <value optimized out>
names = 0x1f633a8
k = <value optimized out>
pc = <value optimized out>
pcscf = 0x1f38ce0
llcf = <value optimized out>
client_cnt = 0
i = 0
bmcf = 0x1f39080
need_sync = 0

其中:
<value optimized out>表示还未初始化
指针的值显示为地址,若要查看指针指向的内容,可以 print *指针

简写为:p *pointer
例如查看*pcscf[0]

(gdb) p *pcscf[0]
$9 = {server_names = {elts = 0x1f633a8, nelts = 1, size = 32, nalloc = 4, pool = 0x1f63350}, ctx = 0x1f443d8, server_name = {len = 6,
    data = 0x1f60596 "centos/usr/local/sms/html"}, connection_pool_size = 256, request_pool_size = 4096, client_header_buffer_size = 1024, large_client_header_buffers = {
    num = 4, size = 8192}, client_header_timeout = 60000, ignore_invalid_headers = 1, merge_slashes = 1, underscores_in_headers = 0, listen = 1, captures = 0,
  named_locations = 0x0, pool = 0x1f63350, chunk_size = 4096, free = 0x0, live_timeout = 60000, out_queue = 256, out_cork = 32, BytesFromSource = 0, BytesToSource = 0,
  BytesFromFMS = 0, BytesToFMS = 0, BytesFromClient = 0, BytesToClient = 0}

上一篇 GDB调试Nginx

下一篇 GCC命令

阅读
614
阅读预计3分钟
创建日期 2015-03-13
修改日期 2018-06-25
类别
标签
百度推荐