软件优化网站,广告中国,开发 必知 网站,安阳做网站推广最好的公司1、使用gdb在qemu上调试程序
1.1、第一步#xff1a;在qemu上运行程序并开启gdb server qemu-system-riscv64 -nographic -machine virt -m 128M -smp 1 -kernel …/bin/test.elf -s -S
1.2、第二步#xff1a;使用gdb客户端连接gdb server -x#xff1a;指定gdb的配置文件…1、使用gdb在qemu上调试程序
1.1、第一步在qemu上运行程序并开启gdb server qemu-system-riscv64 -nographic -machine virt -m 128M -smp 1 -kernel …/bin/test.elf -s -S
1.2、第二步使用gdb客户端连接gdb server -x指定gdb的配置文件这个不是必须的。使用配置文件可以提高调试效率将每次开始gdb调试都需要输入的命令提前写到配置文件中。 配置文件实现的效果和在命令行手动敲命令是一样的。 2、使用TUI模式调试 命令功能layout src显示源码窗口layout asm显示汇编窗口layout regs在之前的窗口上再显示寄存器窗口layout split同时显示源码、汇编窗口layout next显示下一个layoutlayout prev显示上一个layout
3、快捷方式 ctrl键 n下一条命令功能和在linux命令行使用“下键”来查看之前输入过的命令 ctrl键 p上一条命令功能和在linux命令行使用“上键”来查看之前输入过的命令 切换焦点 focus next切换到下一个显示窗口切换焦点也就是可以通过“上下键”来翻看窗口代码focus prev切换到上一个显示窗口切换焦点也就是可以通过“上下键”来翻看窗口代码总结focus next和focus prev是同时显示两个窗口时使用 查看窗口源码的快捷键 PGUP键向上翻页PGDN键向下翻页上键和下键上下滑动查看源码 shell linux命令在gdb命令行使用linux命令
4、gdb常用指令 5、断点设置指令
break设置断点简写bb func 断点函数b file:linenum 断点文件行号b *address 断点地址enable/disable使能/去使能断点en/dis 1 使能/去使能断点1en/dis 使能/去使能所有断点delete删除断点delete 1 删除断点1delete 删除所有断点info breakpoints显示所有断点信息checkpoint记录断点状态用于恢复断点。不可用于多线程checkpointrestart 1Info checkpoint显示checkpoint信息watch跟踪变量值当变量值发生变化时暂停watch a 局部变量在跳出当前函数时会失败watch *0x600af0Info watchpoint显示watchpoint信息
6、解决SecureCRT软件显示乱码 显示乱码的原因是字符编码格式不匹配SecureCRT软件字符编码默认是“Default”模式