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.
 | 
