Go to file
Jeremy Soller 819f77daf3 Add support for graphical debug, to be used during ACPI phase 2018-03-11 11:36:58 -06:00
linkers Remove comment from linker file 2018-01-10 19:27:05 -07:00
res Add support for graphical debug, to be used during ACPI phase 2018-03-11 11:36:58 -06:00
slab_allocator@0a53a0bc40 Updates for new nightly 2018-01-28 14:59:01 -07:00
src Add support for graphical debug, to be used during ACPI phase 2018-03-11 11:36:58 -06:00
syscall@7c805d2a28 Implement waitpid on PGID 2018-01-05 20:31:15 -07:00
targets Add target-c-int-width to x86_64 target 2017-10-04 18:25:59 -06:00
.gitignore Add cargo.lock 2017-07-26 07:44:24 -06:00
.gitmodules Updates for new nightly 2018-01-28 14:59:01 -07:00
Cargo.lock Add linked list allocator with automatic resizing 2018-01-29 21:29:24 -07:00
Cargo.toml Add support for graphical debug, to be used during ACPI phase 2018-03-11 11:36:58 -06:00
LICENSE Create LICENSE 2017-09-26 12:57:43 -06:00
README.md Update debugging docs 2018-01-10 21:31:28 +00:00
Xargo.toml Migrate from collections 2017-10-28 02:42:08 +02:00
build.rs Migrate from collections 2017-10-28 02:42:08 +02:00
clippy.sh Add clippy lints, action some clippy items 2017-12-24 22:19:00 -07:00

README.md

kernel

Redox OS Microkernel

MIT licensed docs

Debugging the redox kernel

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 or lldb client.

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

lldb

If you are going to use lldb, run the following to start debugging.

(lldb) target create -s build/kernel.sym build/kernel
(lldb) gdb-remote localhost:1234

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.