Skip to content
Snippets Groups Projects
Verified Commit a16b9230 authored by Dan Robertson's avatar Dan Robertson
Browse files

Update debugging docs

parent 2e6949e6
No related branches found
No related tags found
No related merge requests found
...@@ -15,23 +15,32 @@ a [gdb] client to connect to it. To debug the redox kernel run. ...@@ -15,23 +15,32 @@ a [gdb] client to connect to it. To debug the redox kernel run.
make qemu debug=yes make qemu debug=yes
``` ```
This will start a VM with and listen on port 1234 for a [gdb] client. Run the following This will start a VM with and listen on port 1234 for a [gdb] or [lldb] client.
to connect to it.
## [gdb]
If you are going to use [gdb], run the following to load debug symbols and connect
to your running kernel.
``` ```
(gdb) symbol-file build/kernel.sym
(gdb) target remote localhost:1234 (gdb) target remote localhost:1234
``` ```
This is great, but without debug info debugging can be quite difficult. The ## [lldb]
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 If you are going to use [lldb], run the following to start debugging.
the following
``` ```
(gdb) symbol-file build/kernel.sym (lldb) target create -s build/kernel.sym build/kernel
(lldb) gdb-remote localhost:1234
``` ```
Now you can set some interesting breakpoints and `continue` the process. ## Debugging
After connecting to your kernel you can set some interesting breakpoints and `continue`
the process. See your debuggers man page for more information on useful commands to run.
[qemu]: https://www.qemu.org [qemu]: https://www.qemu.org
[gdb]: https://www.gnu.org/software/gdb/ [gdb]: https://www.gnu.org/software/gdb/
[lldb]: https://lldb.llvm.org/
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