GDB调试,编译一个测试程序,-g表示可以调试
一、退出focus
快捷键组合:Ctrl+X+A 退出tui、 focus模式
二、进入focus
(gdb) focus
三、重新加载
(gdb) load
四、汇编
(gdb) layout asm
五、查看代码入口地址
(gdb) info files
六、查看函数
(gdb) info functions
七、单步执行,不进入该步骤函数
(gdb) n
八、单步执行,进入函数内部
(gdb) s
九、进入汇编,并且显示寄存器
(gdb) layout regs
十、删除断点
(gdb) delete 1
十一、汇编指定跳转到某条指令
(gdb) set var $pc = 0x60000ec8
(gdb) n
十二、汇编自定义一个变量
(gdb) set var $huang = 1
(gdb) p $huang
$4 = 0x1
十三、p和display
(gdb) display dtop_ana->fs_pmu_reg_cfg52._b.force_aon_ldo_bias_ctrl_s2a
5: dtop_ana->fs_pmu_reg_cfg52._b.force_aon_ldo_bias_ctrl_s2a = 0x0
(gdb) p dtop_ana->fs_pmu_reg_cfg52._b.force_aon_ldo_bias_ctrl_s2a
$6 = 0x0
十四、查看display历史
info display
十五、gdb脚本
-
创建文件
test.gdb
或test.sh
,文件名随意 -
添加命令如
printf "========================\n" printf "dtop_ana->fs_pmu_reg_cfg34._b.meter_atb_p_sel: 0x%x\n",dtop_ana->fs_pmu_reg_cfg34._b.meter_atb_p_sel printf "dtop_ana->fs_pmu_reg_cfg34._b.meter_atb_n_sel: 0x%x\n", dtop_ana->fs_pmu_reg_cfg34._b.meter_atb_n_sel printf "\n"
-
在gdb内,执行文件
source test.sh