Hello,
I am happy to announce the addition of a new user-level debugging facility to Genode, which will hopefully make the life of Genode application developers much easier. Our new GDB monitor component allows GDB to be connected to an individual Genode process as a remote target (via UART or TCP connection). Thereby, a wide range of convenient debugging features become available, for example
* The use of breakpoints, * Single-stepping through assembly instructions or at function level, * Source-level debugging, * Printing of backtraces and call-frame inspection, and * Observing different threads of a Genode process
I want to highlight that both statically linked programs as well as programs that use shared libraries are supported, which we see as a significant improvements over the traditional debugging tools.
The new feature is available at our SVN repository. For giving it a quick try, you may find the following documentation useful. Among the introduction of the approach, it provides a step-by-step guide as a starting point for experimentation:
http://genode.org/documentation/developer-resources/gdb
Please note that, at this point, the feature is only supported on a small subset of Genode's base platforms (namely Fiasco.OC and partially OKL4). We may extend the support to other platforms if we see public demand.
Thanks a lot to Daniel Waddington for bringing this feature onto our agenda.
Have fun! Norman