GDB完全使用指南(1)

来源:互联网 发布:电脑安装监控软件 编辑:程序博客网 时间:2024/06/05 14:32

1.查看源程序
    list
    l
list/l列出当前行附近的代码,可以使用参数指定当前行,以及指定一个范围,如l 10,l 10,20

2.运行程序的命令
    运行调试的程序时,使用
    run
    r
命令,run后面可以跟发给这个程序的任何参数,包括输入输出重定向,文件通配符等。以及传递给main函数的参数,当运行了带参数的run之后,再次运行时就会使用以前的参数,可以使用show args和set args来查看和设置。
当gdb没有载入可执行文件时,可以使用file program_name来单独加载。
3.断点操作
在指定行设置断点
    break / b [line_number]   
在指定函数处设置断点
    break / b [funciton]       
设置条件断点
    break /b [line_number | fucntion] if expression   
    condition 2 if expressions    将原来的断点2设置为条件断点。
在指定文件中设置断点
    break / b [file:line_number | file:function]   
显示当前断点信息
    info breakpoints / b   
删除断点number
    delete /d breakpoints /b  number   
清除断点
    clear line_number | fucntion | *address    清除指定行、函数、地址的断点

4.观察点
watch <expression>    为表达式设置观察点,当表达式的值改变后程序会停止,观察点和断点用户几乎一模一样。

5.查看运行时数据
查看变量
    print / p var_name
查看其它文件中的变量
    print /p file::var_name
    print /p funciton::var_name
调用程序中的函数
    print /p function(argu...)
    这样不用运行函数就可以知道函数运行的结果是否异常。
查看数组的值
    printf array
    printf *array@len    len是上下文中的一个指明长度的变量,或
    是你指定的值,如5,这从*array开始查看连续5个同类型的内
    存单元的值,和x指令一样的效果。
输出格式
    和x指令一样,p指令也支持输出格式,如
    p /d array
自动显示变量
    可以设置程序中的一些变量在但不执行或断点后自动显示变量的值,使用的命令是display
    display /fmt expression

原创粉丝点击