35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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.
 |