Changes between Version 3 and Version 4 of Projects/GDB_Python


Ignore:
Timestamp:
Mar 22, 2010, 3:25:39 AM (10 years ago)
Author:
ChrisJohns
Comment:

Devel and GSoC

Legend:

Unmodified
Added
Removed
Modified
  • Projects/GDB_Python

    v3 v4  
    4545# Read/Write Locks
    4646
    47 Various pretty printers have been added to help improve looking at RTEMS internal structures. An RTEMS command has been added.
     47Various pretty printers have been added to help improve looking at RTEMS internal structures.
     48
     49A RTEMS command call 'rtems' has been added that have sub-commands added. The sub-commands are:
     50
     51# object
     52== RTEMS Object Command ==
     53
     54
     55The command takes a single parameter an object id and prints the object details it references. The object id can be a number or a variable that contains a valid id. For example:
     56
     57 Breakpoint 6, rtems_semaphore_obtain (id= = {...}, option_set=0, timeout=0) at \
     58                                                    cpukit/rtems/src/semobtain.c:79
     59 (gdb) rtems object id
     60 API:classic Class:semaphores Node:1 Index:18 Id:1A010012
     61      Name: DDEV
     62      Attr: 0x00000010,local,fifo,bin-sema,no-inherit-pri,no-pri-ceiling
     63      Lock: unlocked
     64   Nesting: 0
     65   Blocked: 0
     66    Holder: unlocked
     67     Queue: len = 0, state = waiting-for-mutex
     68
     69You could look at the object with <tt>rtems object 0x1a010012</tt> or <tt>rtems object 436273170</tt>. For a task you can do:
     70
     71 (gdb) rtems object _Thread_Executing->Object.id
     72 API:classic Class:tasks Node:1 Index:7 Id:0A010007
     73      Name: fsts
     74     State: ready
     75   Current: 160
     76      Real: 160
     77  Suspends: 65536
     78  Post Ext: false
     79   Preempt: true
     80  T Budget: 48
     81= Development =
     82
     83
     84This project is currently in development. Please contribute.
     85= GSoC =
     86
     87
     88The project is suitable as a GSoC project. The project requires a student that:
     89
     90# Has completed the hello world demo required by all RTEMS GSoC strudent
     91# Knowledge of Python and using classes in Python plus a willingness to learn Python
     92# Ability to code in C. We may require changes to GDB. I suppose this may require paperwork with the FSF to assign copyright.
     93
     94The major focus of the GSoC work is to look at threading and to teach GDB about the RTEMS threads. The may require GDB having to thread information added to the 'gdb' package exported from GDB to Python as well as hooks for calls when a break point is hit so the RTEMS Python code can read the thread information into GDB.