wiki:Projects/GDB_Python

Version 3 (modified by ChrisJohns, on Mar 22, 2010 at 1:54:49 AM) (diff)

Status Added

GDB Python

ThHis? project add support for RTEMS in GDB using Python.

Recent versions of GDB ship with Python embedded as a scripting language. This was added so GDB could be extended using a fully featured scripting language. The embedding of Python into GDB currently provides Pretty Printing hooks. Pretty printing allows GDB to be extended to provide human readable output for complex structures that do not print clearly using the actual type structure. The first use was to hide the C++ STD details.

Python in GFB allow the RTEMS project to extend GDB so RTEMS's various data types can be presented in a human readable manner or made accessible to GDB.

Download

The RTEMS Pretty Printer can be downloaded from http://www.rtems.org/ftp/pub/rtems/people/chrisj/gdb.

Contact Chris Johns? if you are interested in helping with this work.

Status

This project is on going. There are large number of types and structures in RTEMS and having them all accessible from GDB is a large undertaking. The initial phase is to support the basic types needed by RTEMS users to debug RTEMS applications. They are:

# Objects # Objects_Control # Objects_Name

  • Classic

# Attributes # Tasks # Semaphores # Message Queues # Paritions # Regions # Periods # Extensions # Barriers

  • POSIX

# Threads # Keys # Message queue Fds # Message Queues # Mutexes # Semaphores # Condition Variables # Timers # Barriers # Semaphores # Read/Write? Locks

Various pretty printers have been added to help improve looking at RTEMS internal structures. An RTEMS command has been added.