> Now my question is: how do I investigate an issue like this? In other words, > which are the best tools since this code involves both user and kernel space > debugging. > Are there some trace tools available that are able to generate a kind of > sequence / trace of what is happing over time. > > I also have other issues that are not consistently reproducible. For this > kind of problems trace tools would also be useful. >
I have debugged such issues with LTTng ( http://lttng.org/ ). There are trace points in the Xenomai nucleus ( grep -rw xn_nucleus /path/to/xenomai/* ) and skins (at least the native skin). You could for example set up 'one-shot' tracing where events are continuously added to the Lttng event ring buffer until a condition is satisfied (i.e. your error condition) and analyse it either with Lttv or by looking at the textual output. It takes some time to set things up. You need (1) to add the LTTng patches to your kernel and recompile the whole thing. In general, there are just LTTng patches for vanilla kernels available. So you have to expect some manual work there. (2) You have to compile the user-space daemon for your target: You need it to control the tracing. (3) Lttv for your host (if you like a little bit of comfort when analysing your traces). Andreas _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
