5. Debug
Now Skyeye supports the RDI (remote debug interface) protocol of GDB. In the future, we hope
SkyEye can support more debugging protocols.
5.1 gdb debugging
In this section we will give some step by step instructions for debugging your kernel image using gdb RDI. RDI function in
SkyEye is not completed yet, so you may encounter some problems. We will finish it soon.
Firstly you should have a gdb for your target installed on your host machine; there should be a binary called something like arm-elf-gdb. This gdb will be used to communicate with
SkyEye to get detailed debug infomation. If you have ever used gdbserver, this will be familiar.
SkyEye is just like your gdbserver in usage.
You can load your image on
SkyEye with -d option to turn on debugging. Please refer to ?.
When Skyeye is launched, it will stop at the address of the first instruction of your image. Then run the gdb for your target in another terminal (using for instance X11 to open multiple terminal windows).
./arm-elf-gdb imagename
Then run the following command under gdb prompt:
target remote :12345
At this time, gdb side will show the current PC (program counter), and some running infomation of your image. Then you can run gdb commands to debug your image.