Remove all Python logic - dotfiles - leot's dotfiles
(HTM) hg clone https://bitbucket.org/iamleot/dotfiles
(DIR) Log
(DIR) Files
(DIR) Refs
---
(DIR) changeset 4c7030f9619b8b72677df48162099c166928a8ed
(DIR) parent 034275712dce7edc31a321a590f1586db62525c9
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Thu, 13 Jun 2019 22:32:10
Remove all Python logic
I have never used it... (probably I should!)
Diffstat:
gdbinit | 163 ----------------------------------------------------------------
1 files changed, 0 insertions(+), 163 deletions(-)
---
diff -r 034275712dce -r 4c7030f9619b gdbinit
--- a/gdbinit Thu Jun 13 22:31:15 2019 +0200
+++ b/gdbinit Thu Jun 13 22:32:10 2019 +0200
@@ -1,164 +1,1 @@
set print pretty on
-
-# 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)
-#
-# NOTE: If you have gdb 7 or later, it supports debugging of Python directly
-# 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*
-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*
-define pyg
- print _PyGC_Dump($arg0)
-end
-
-# print the local variables of the current frame
-define pylocals
- set $_i = 0
- while $_i < f->f_code->co_nlocals
- if f->f_localsplus + $_i != 0
- set $_names = co->co_varnames
- set $_name = _PyUnicode_AsString(PyTuple_GetItem($_names, $_i))
- printf "%s:\n", $_name
- pyo f->f_localsplus[$_i]
- end
- set $_i = $_i + 1
- end
-end
-
-# A rewrite of the Python interpreter's line number calculator in GDB's
-# command language
-define lineno
- set $__continue = 1
- set $__co = f->f_code
- set $__lasti = f->f_lasti
- set $__sz = ((PyVarObject *)$__co->co_lnotab)->ob_size/2
- set $__p = (unsigned char *)((PyBytesObject *)$__co->co_lnotab)->ob_sval
- set $__li = $__co->co_firstlineno
- set $__ad = 0
- while ($__sz-1 >= 0 && $__continue)
- set $__sz = $__sz - 1
- set $__ad = $__ad + *$__p
- set $__p = $__p + 1
- if ($__ad > $__lasti)
- set $__continue = 0
- else
- set $__li = $__li + *$__p
- set $__p = $__p + 1
- end
- end
- printf "%d", $__li
-end
-
-# print the current frame - verbose
-define pyframev
- pyframe
- pylocals
-end
-
-define pyframe
- set $__fn = _PyUnicode_AsString(co->co_filename)
- set $__n = _PyUnicode_AsString(co->co_name)
- printf "%s (", $__fn
- lineno
- printf "): %s\n", $__n
-### Uncomment these lines when using from within Emacs/XEmacs so it will
-### automatically track/display the current Python source line
-# printf "%c%c%s:", 032, 032, $__fn
-# lineno
-# printf ":1\n"
-end
-
-### Use these at your own risk. It appears that a bug in gdb causes it
-### to crash in certain circumstances.
-
-#define up
-# up-silently 1
-# printframe
-#end
-
-#define down
-# down-silently 1
-# printframe
-#end
-
-define printframe
- if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
- pyframe
- else
- frame
- end
-end
-
-# Here's a somewhat fragile way to print the entire Python stack from gdb.
-# It's fragile because the tests for the value of $pc depend on the layout
-# of specific functions in the C source code.
-
-# Explanation of while and if tests: We want to pop up the stack until we
-# land in Py_Main (this is probably an incorrect assumption in an embedded
-# interpreter, but the test can be extended by an interested party). If
-# Py_Main <= $pc <= Py_GetArgcArv is true, $pc is in Py_Main(), so the while
-# tests succeeds as long as it's not true. In a similar fashion the if
-# statement tests to see if we are in PyEval_EvalFrameEx().
-
-# Note: The name of the main interpreter function and the function which
-# follow it has changed over time. This version of pystack works with this
-# version of Python. If you try using it with older or newer versions of
-# the interpreter you may will have to change the functions you compare with
-# $pc.
-
-# print the entire Python call stack
-define pystack
- while $pc < Py_Main || $pc > Py_GetArgcArgv
- if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
- pyframe
- end
- up-silently 1
- end
- select-frame 0
-end
-
-# print the entire Python call stack - verbose mode
-define pystackv
- while $pc < Py_Main || $pc > Py_GetArgcArgv
- if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
- pyframev
- end
- up-silently 1
- end
- select-frame 0
-end
-
-# generally useful macro to print a Unicode string
-def pu
- set $uni = $arg0
- set $i = 0
- while (*$uni && $i++<100)
- if (*$uni < 0x80)
- print *(char*)$uni++
- else
- print /x *(short*)$uni++
- end
- end
-end