Debugging Genode applications on Ubuntu 14.04 64bit

Menno Valkema menno.genode at ...9...
Fri Dec 11 13:43:42 CET 2015


Hi Christian,

Thank you for your reply. Yes, this certainly makes life much easier!

Menno

On 11-12-15 13:24, Christian Prochaska wrote:
> Hi Menno,
> 
> on the 'linux_x86' Genode platform, we usually use the GDB of the host
> Linux system for debugging. There are some limitations on the GDB
> features that can be used, for example, breakpoints in shared libraries
> might not work. But features like showing a backtrace usually work.
> 
> For example, if a segmentation fault occurs reproducibly in a Genode
> program, I would do the following:
> 
> 1) let the program pause at a time before the crash occurs
> 
> On the 'linux_x86' platform, a function 'wait_for_continue()' exists,
> which waits until the user presses the Return key on the log console.
> This function could be called, for example, at the beginning of
> 'main()'. The function must be declared in the file where it is being
> used as:
> 
> extern "C" void wait_for_continue();
> 
> 2) execute the run script of the test scenario
> 
> The thread to be debugged should now be waiting in 'wait_for_continue()'.
> 
> 3) find out the thread ID of the waiting thread
> 
> The command
> 
> $ ps -eLf | grep Genode
> 
> shows a list of running Genode threads. The thread ID is the last of the
> three IDs shown in each row.
> 
> 4) start GDB and attach it to the thread
> 
> In the 'build/linux_x86/bin' directory, run
> 
> $ gdb <name of program ELF image> -p <thread id>
> 
> 5) let the program continue until the crash occurs
> 
> - in GDB, enter 'cont'
> - on the Genode log console, press Return
> 
> Now, if the segmentation fault occurs, GDB stops and the backtrace can
> be shown.
> 
> Hope this helps,
> Christian
> 
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 




More information about the users mailing list