zoukankan      html  css  js  c++  java
  • GDB获取帮助信息

    用help 功能,你可以获得GDB 的命令信息。

    help
    h 你可以用help(缩写h)不带参数来显示一个命令分类的简短列表。

    (gdb) help
    List of classes of commands:
    
    aliases -- Aliases of other commands
    breakpoints -- Making program stop at certain points
    data -- Examining data
    files -- Specifying and examining files
    internals -- Maintenance commands
    obscure -- Obscure features
    running -- Running the program
    stack -- Examining the stack
    status -- Status inquiries
    support -- Support facilities
    tracepoints -- Tracing of program execution without stopping the program
    user-defined -- User-defined commands
    
    Type "help" followed by a class name for a list of commands in that class.
    Type "help all" for the list of all commands.
    Type "help" followed by command name for full documentation.
    Type "apropos word" to search for commands related to "word".
    Command name abbreviations are allowed if unambiguous.
    (gdb) 

    help class
    用help 分类作为参数,你可以得到这个分类里命令列表。比如,下面是status 分类的帮
    助显示:

    (gdb) help status
    Status inquiries.
    
    List of commands:
    
    info -- Generic command for showing things about the program being debugged
    info address -- Describe where symbol SYM is stored
    info all-registers -- List of all registers and their contents
    info args -- Argument variables of current stack frame
    info auto-load -- Print current status of auto-loaded files
    info auto-load gdb-scripts -- Print the list of automatically loaded sequences of commands
    info auto-load libthread-db -- Print the list of loaded inferior specific libthread_db
    info auto-load local-gdbinit -- Print whether current directory .gdbinit file has been loaded
    info auto-load python-scripts -- Print the list of automatically loaded Python scripts
    info auto-load-scripts -- Print the list of automatically loaded Python scripts
    info auxv -- Display the inferior's auxiliary vector
    info bookmarks -- Status of user-settable bookmarks
    info breakpoints -- Status of specified breakpoints (all user-settable breakpoints if no argument)
    info checkpoints -- IDs of currently known checkpoints
    info classes -- All Objective-C classes
    info common -- Print out the values contained in a Fortran COMMON block
    info copying -- Conditions for redistributing copies of GDB
    info dcache -- Print information on the dcache performance
    info display -- Expressions to display when program stops
    info extensions -- All filename extensions associated with a source language
    info files -- Names of targets and files being debugged
    info float -- Print the status of the floating point unit
    info frame -- All about selected stack frame
    info frame-filter -- List all registered Python frame-filters
    info functions -- All function names
    info handle -- What debugger does when program gets various signals
    ---Type <return> to continue, or q <return> to quit---

    help command

    用命令名作参数,GDB 会显示一段如何使用这个命令的信息。

    apropos args
    apropos 命令会在命令和文档里文档搜索这个args 指定的正则表达式。这个命令会打印
    所有符合的结果。例如:

    (gdb) apropos tbreak
    tbreak -- Set a temporary breakpoint

    complete args
    complete args 命令列出所有可能的补全结果。用args 指定你想要的命令的开头字母。例
    如:

    (gdb) complete i
    if
    ignore
    ignore-errors
    inferior
    info
    init-if-undefined
    interpreter-exec
    interrupt
    (gdb) 

    更进一步的,你可以用GDB 命令info 和show 来查询你程序的状态或者GDB 本身的状态。

    这两个命令都支持多个主题的查询;

    info 和show 下的列表列出了所有的子命令。

    info 这个命令(缩写i)可以描述程序的状态。例如,你可以用info args 显示传递给函
    数的参数,用info registers 来列出
    寄存器数据,用info breakpoints 列出你设置的断点。你可以用help info 来取得info 的
    所有子命令。
    set 你可以用set 命令把一个表达式的值来设置一个环境变量。例如,你可以用set prompt
    $来设置GDB 提示符。
    show 和info 不同,show 描述的GDB 本身的状态。你可以用set 命令改变大多数你可以
    用show 显示的内容。例如,你可以用set
    radix 来设置显示的数值进制系统,或者用show radix 来显示数值进制。
    你可以用不带参数的show 命令来显示所有可以设置的参数和它们的值;你也可以用
    info set。这两个命令是一样的。
    还有其余3 种show 子命令,这3 中命令缺乏对应的set 命令:
    show version
    显示当前GDB 的版本。你应该在GDB bug 报告中包含版本信息。如果你的机器上有多个版本的GDB,你可能需要知道哪个版本是你正在运行的;随着GDB 的发展,新的命令会引入,而一些旧的将废弃。同时,许多系统供应商移植了不同版本的

    GDB,在GNU/Linux 发行版也存在着多种版本的GDB.版本号和你启动时显示一样。

  • 相关阅读:
    Linux 下编译hello world 的C 语言程序
    C语言实现二维数组操作--元素个数确定
    Linux Eclipse安装和配置命令行(jre、jdk)
    段错误bug的调试
    fopen与open的区别
    同样的c代码,为何在windows下和linux下执行结果不一样?
    VIM快捷键
    浅谈C中的wprintf和宽字符显示
    Know More About Oracle Row Lock
    【教学视频】Maclean教你一步一步使用Vbox在Linux 5上安装Oracle 11gR2 RAC
  • 原文地址:https://www.cnblogs.com/BinBinStory/p/7248135.html
Copyright © 2011-2022 走看看