mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# -*- ksh -*-
 | 
						|
#
 | 
						|
# If you use the GNU debugger gdb to debug the Python C runtime, you
 | 
						|
# might find some of the following commands useful.  Copy this to your
 | 
						|
# ~/.gdbinit file and it'll get loaded into gdb automatically when you
 | 
						|
# start it up.  Then, at the gdb prompt you can do things like:
 | 
						|
#
 | 
						|
#    (gdb) pyo apyobjectptr
 | 
						|
#    <module 'foobar' (built-in)>
 | 
						|
#    refcounts: 1
 | 
						|
#    address    : 84a7a2c
 | 
						|
#    $1 = void
 | 
						|
#    (gdb)
 | 
						|
 | 
						|
# Prints a representation of the object to stderr, along with the
 | 
						|
# number of reference counts it current has and the hex address the
 | 
						|
# object is allocated at.  The argument must be a PyObject*
 | 
						|
define pyo
 | 
						|
print _PyObject_Dump($arg0)
 | 
						|
end
 | 
						|
 | 
						|
# Prints a representation of the object to stderr, along with the
 | 
						|
# number of reference counts it current has and the hex address the
 | 
						|
# object is allocated at.  The argument must be a PyGC_Head*
 | 
						|
define pyg
 | 
						|
print _PyGC_Dump($arg0)
 | 
						|
end
 | 
						|
 | 
						|
# If you are in an eval_frame() function, calling pyframe with no
 | 
						|
# arguments will print the filename, function name, and line number.
 | 
						|
# It assumes that f is the name of the current frame.
 | 
						|
define pyframe
 | 
						|
x/s ((PyStringObject*)f->f_code->co_filename)->ob_sval
 | 
						|
x/s ((PyStringObject*)f->f_code->co_name)->ob_sval
 | 
						|
p f->f_lineno
 | 
						|
end
 |