在GDB中打印多个变量?

San*_*San 6 c debugging gdb

我遇到一个问题,say 25在函数上打印多个变量()GDB Prompt.

有没有方便的方法来手动打印每个变量?

我可以使用脚本或更简单的方法来完成我的工作吗?

Voi*_*ter 13

您可以使用printfgdb中的命令打印多个值.

printf "%d,%d\n", a, b
Run Code Online (Sandbox Code Playgroud)

要在将来使用它,您可以定义gdb函数或使用gdb-history功能.

  1. 要定义gdb函数,请$HOME/.gdbinit使用以下内容创建/修改文件,

    define print_all
        printf "%d,%d\n", a, b
    end
    document print_all
        Prints all my variables.
    end
    
    Run Code Online (Sandbox Code Playgroud)

    然后你可以print_all用作命令.

  2. 对于历史技巧,$HOME/.gdbinit使用以下内容创建/修改文件:

    set history filename ~/.gdb_history
    set history save
    
    Run Code Online (Sandbox Code Playgroud)

    ctrl+r像在bash中一样使用它.实际的gdb-history答案在这里.