Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-15817: Expose command documentation to gdb help #6384

Merged
merged 2 commits into from
Apr 5, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 25 additions & 11 deletions Misc/gdbinit
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,30 @@
# with embedded macros that you may find superior to what is in here.
# See Tools/gdb/libpython.py and http://bugs.python.org/issue8032.

# 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*
document pyo
Prints a representation of the object to stderr, along with the
number of reference counts it currently has and the hex address the
object is allocated at. The argument must be a PyObject*
end
define pyo
# side effect of calling _PyObject_Dump is to dump the object's
# info - assigning just prevents gdb from printing the
# NULL return value
set $_unused_void = _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*
document pyg
Prints a representation of the object to stderr, along with the
number of reference counts it currently has and the hex address the
object is allocated at. The argument must be a PyGC_Head*
end
define pyg
print _PyGC_Dump($arg0)
end

# print the local variables of the current frame
document pylocals
Print the local variables of the current frame.
end
define pylocals
set $_i = 0
while $_i < f->f_code->co_nlocals
Expand Down Expand Up @@ -69,7 +75,9 @@ define lineno
printf "%d", $__li
end

# print the current frame - verbose
document pyframev
Print the current frame - verbose
end
define pyframev
pyframe
pylocals
Expand Down Expand Up @@ -126,7 +134,9 @@ end
# the interpreter you may will have to change the functions you compare with
# $pc.

# print the entire Python call stack
document pystack
Print the entire Python call stack
end
define pystack
while $pc < Py_Main || $pc > Py_GetArgcArgv
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
Expand All @@ -137,7 +147,9 @@ define pystack
select-frame 0
end

# print the entire Python call stack - verbose mode
document pystackv
Print the entire Python call stack - verbose mode
end
define pystackv
while $pc < Py_Main || $pc > Py_GetArgcArgv
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
Expand All @@ -148,7 +160,9 @@ define pystackv
select-frame 0
end

# generally useful macro to print a Unicode string
document pu
Generally useful macro to print a Unicode string
end
def pu
set $uni = $arg0
set $i = 0
Expand Down