Skip to content
Snippets Groups Projects
Unverified Commit 8ad13539 authored by Jeremy Soller's avatar Jeremy Soller Committed by GitHub
Browse files

Merge pull request #65 from dlrobertson/master

Add documentation on using gdb
parents 9b327ccb 2e6949e6
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,32 @@ Redox OS Microkernel ...@@ -6,6 +6,32 @@ Redox OS Microkernel
[![docs](https://img.shields.io/badge/docs-master-blue.svg)](https://doc.redox-os.org/kernel/kernel/) [![docs](https://img.shields.io/badge/docs-master-blue.svg)](https://doc.redox-os.org/kernel/kernel/)
[![](https://tokei.rs/b1/github/redox-os/kernel?category=code)](https://github.com/Aaronepower/tokei) [![](https://tokei.rs/b1/github/redox-os/kernel?category=code)](https://github.com/Aaronepower/tokei)
## Debugging the redox kernel
Documentation is still a work in progress Running [qemu] with the `-s` flag will set up [qemu] to listen on port 1234 for
a [gdb] client to connect to it. To debug the redox kernel run.
```
make qemu debug=yes
```
This will start a VM with and listen on port 1234 for a [gdb] client. Run the following
to connect to it.
```
(gdb) target remote localhost:1234
```
This is great, but without debug info debugging can be quite difficult. The
redox build process strips the kernel of debug info and copies the debug info
to a separate file `kernel.sym`. You can import these symbols in [gdb] with
the following
```
(gdb) symbol-file build/kernel.sym
```
Now you can set some interesting breakpoints and `continue` the process.
[qemu]: https://www.qemu.org
[gdb]: https://www.gnu.org/software/gdb/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment