gdb 调试qemu

虽然打log非常方便但是gdb功能强大,有很多print不及的功能,比如找到某个函数的调用栈。

gdb调试qemu其实很简单,就是 gdb --arg qemu-system-aarch64 + 命令行,这样就可以调试了。用b设置断点,r来run,c连续执行,bt来回溯调用栈。但是会出现一些意想不到的状况,比如出现:

Thread 6 "qemu-system-aar" received signal SIGUSR1, User defined signal 1.

经谷歌解决方法是: (gdb)handle SIGUSR1 noprint nostop。接着就比较顺畅了。