写在前面:如果程序要使用 gdb 进行调试,则首先这个程序在编译的时候必须要把调试信息加到可执行文件中。使用编译器的 “-g” 参数可以做到这一点。

    1. 使用 gdb 运行程序 ```bash // 程序不需要输入参数 gdb ./demo

    // 程序需要输入参数

    1. gdb ./demo 如:
    2. set args 参数信息 如:set args -m 2 -r “components/demo_tuya_ipc/“ -t “AYG0btUGeW2OAT”
    3. 输入 r(run) ```

    4. 查看栈帧

      1. bt(打印堆栈信息)
    5. 堆栈切换

      1. up (查看下一个父帧)
      2. down(查看上一个子帧)
      3. // 也可以使用 frame 1,来查看上一个父帧(当前正在执行的函数的帧被编号为0,其父帧(即该函数的调用者的栈帧)被编号为1,父帧的父帧被编号为2
    6. 查看变量 ```bash // 查看当前 stack frame 局部变量 info locals

    // 查看全局变量和静态变量 info variables

    // 查看 stack frame 参数 info args ```