This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project. See the eCos home page for more information.
Date: Fri, 12 Feb 1999 10:46:08 -0600 From: "Kerry S. Kimbrough" <kerry@cae-plus.com> (Hi Kerry!) I could find no info on this topic in the FAQ or other info at www.cygnus.com/ecos, etc. But I expect this is an easy question for someone on this list. The question: what's the story on integration of gdb with eCos? I assume that there exists a version of gdb that is "eCos-aware", but am I right? If so, can someone point me to details like gdb version, command documentation, etc.? By "eCos-aware", of course, I mean a gdb that can view RTOS info (e.g. task status, task priorities), that can set breakpoints conditioned on task info (e.g. break in task X only), that can debug interrupt handlers, etc. eCos support in GDB consists of a couple extensions so far. The first is to display additional information about eCos threads, such as priority. Both this and basic thread control are integrated into GDB's basic thread support, which is documented in the GDB manual. GDB's thread support does allow per-thread breakpoints and such, so most of what people want is there already, the main work for eCos was to make it understand GDB's standard protocol for all this. The Insight (gdbtk) GUI for GDB includes a thread window as well. The second is a much more experimental change to better control stepping of threads by locking out the scheduler. Right now, when you step, you unleash the scheduler, which can have some pretty counterintuitive side effects. So we've defined a new GDB variable `scheduler-locking' that you can set as desired, either letting all threads run, or just the one that you're stepping. Again, this is still experimental (Michael Snyder will hate me even for mentioning it!). We haven't done anything about interrupt handler debugging. My understanding is that eCos might need some additional tweaking for that. (True eCos'ers jump in here please.) GDB doesn't really care - if the OS hands it a valid state, it will try to make sense of it, whether it's in the main code or in an interrupt handler. There are a couple other ideas in the works, but they're not far enough to talk about yet. We are interested in getting additional suggestions too! Oh yeah, the GDB tweaks above are post-4.17. The thread support you can find in the eCos sourceware release, the scheduler locking in current GDB snapshots. Both will be in 4.18, which is going to be coming out soon. Stan