sugar-toolkit-gtk3/lib/threadframe
2006-10-12 12:47:17 +02:00
..
GNUmakefile.mingw2 Create a private sugar lib and put our extensions there. 2006-10-12 12:47:17 +02:00
Makefile.am Create a private sugar lib and put our extensions there. 2006-10-12 12:47:17 +02:00
README Create a private sugar lib and put our extensions there. 2006-10-12 12:47:17 +02:00
sample.txt Create a private sugar lib and put our extensions there. 2006-10-12 12:47:17 +02:00
setup.py Create a private sugar lib and put our extensions there. 2006-10-12 12:47:17 +02:00
test.py
threadframe.def
threadframemodule.c

Note on the License
Dan Williams <dcbw at redhat com>  2006-08-16

Since 'setup.py' specifies the "Python" license, it is assumed that the
threadframe package is distributed under that license, even though there
is no license header at the top of the source file.



Obtaining tracebacks on other threads in Python
===============================================
by Fazal Majid (www.majid.info), 2004-06-10

David Beazley added advanced debugging functions to the Python interpreter,
and they have been folded into the 2.2 release. Guido van Rossum added in
Python 2.3 the thread ID to the interpreter state structure, and this allows
us to produce a dictionary mapping thread IDs to frames.

I used these hooks to build a debugging module that is useful when you
are looking for deadlocks in a multithreaded application. I've built
and tested this only on Solaris 8/x86, but the code should be pretty
portable.

Of course, I disclaim any liability if this code should crash your system,
erase your homework, eat your dog (who also ate your homework) or otherwise
have any undesirable effect.

Building and installing
=======================

Download threadframe-0.2.tar.gz. You can use the Makefile or the setup.py
script. There is a small test program test.py that illustrates how to use this
module to dump stack frames of all the Python interpreter threads. A sample
run is available for your perusal.