常用的GDB调试指令?

GDB (GNU Debugger) 是一个功能强大的调试工具,用于调试程序中的错误。以下是一些常用的GDB调试命令:

基本命令

  • 启动GDB
    gdb ./executable
    

    这会启动GDB并加载名为 executable 的程序。

  • 运行程序

    run [arguments]
    

    这会启动程序执行。如果程序需要参数,可以在 run 后面添加。

  • 设置断点

    break function_name
    break filename:linenumber
    

    这会在指定的函数或文件的指定行设置断点。

  • 查看源代码

    list function_name
    list filename:linenumber
    

    这会显示函数或指定行周围的源代码。

步进和步过

  • 步过(next)
    next
    

    执行下一行代码,如果该行是函数调用,则不进入该函数。

  • 步进(step)

    step
    

    执行下一行代码,如果该行是函数调用,则进入该函数。

查看和修改数据

  • 打印变量值
    print variable
    

    显示指定变量的当前值。

  • 修改变量值

    set variable = value
    

    将变量 variable 的值改为 value

控制执行

  • 继续执行
    continue
    

    从当前位置继续执行程序,直到遇到下一个断点或程序结束。

  • 退出GDB

    quit
    

    退出GDB调试会话。

调试信息

  • 查看栈帧(stack frame)
    backtrace
    

    或简写为

    bt
    

    显示当前调用堆栈的栈帧,这对于理解当前执行位置在程序中的调用路径非常有帮助。

  • 切换栈帧

    frame n
    

    切换到堆栈中的第 n 个栈帧。

这些命令为GDB提供了基础的调试功能。通过合理使用这些工具,可以有效地定位和解决程序中的错误。

发表评论

后才能评论