aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md26
1 files changed, 14 insertions, 12 deletions
diff --git a/README.md b/README.md
index 1be6dd6..5146ac6 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,13 @@
gdbstub
=======
-This is a simple gdb stub that can be easily dropped in to your project. It has
-no library dependencies (such as libc) and requires just standard tools to
-build.
+This is a simple GDB stub that can be easily dropped in to your project to allow
+you to debug a target platform using GDB (or another application which supports
+remote GDB targets). It has no library dependencies (such as libc) and requires
+just standard tools to build.
Protocol
--------
-Communication between the stub and the debugger takes place via the [gdb
+Communication between the stub and the debugger takes place via the [GDB
Remote Serial Protocol](https://sourceware.org/gdb/onlinedocs/gdb/Remote-Protocol.html).
Porting
@@ -26,16 +27,19 @@ The intent for this flat binary is to be trivially loaded and jumped to.
Demo
----
-To test the GDB stub out, you can launch an instance of the full-system emulator
-[QEMU](https://www.qemu.org/) as follows:
+In `demo.c` there is a simple function that's used for demonstration and
+testing. To test the GDB stub out, you can launch an instance of the full-system
+emulator [QEMU](https://www.qemu.org/) as follows:
qemu-system-i386 -serial tcp:127.0.0.1:1234,server -display none -kernel gdbstub.elf
-This will launch QEMU, create a virtual serial port that can be connected to
-through local TCP port 1234, then load and run the stub executable.
+This will launch QEMU, create a virtual machine with a virtual serial port that
+can be connected to through local TCP port 1234, then load and run the stub
+executable inside the virtual machine.
-You can then launch GDB with the `demo.gdbinit` script to get your GDB client
-to connect to the virtual serial port and begin debugging the demo application:
+You can then launch your local GDB client with the `demo.gdbinit` script to get
+your GDB client to connect to the virtual serial port and begin debugging the
+demo application:
gdb --command=demo.gdbinit
@@ -44,8 +48,6 @@ For example, step a couple of times and print out the value of `x`:
(gdb) s 2
(gdb) p/x x
$1 = 0xdeadbeef
- (gdb)
-
License
-------