The swig.gdb file provides the swigprint and locswigprint user-defined commands which stopped working somewhere around gdb 8.0 - 8.2. ``` (gdb) swigprint n Undefined command: "Printf". Try "help". (gdb) locswigprint n Undefined command: "Printf". Try "help". (gdb) ``` I couldn't find any mention of gdb's Printf, but replacing Printf with printf works and is documented at https://sourceware.org/gdb/download/onlinedocs/gdb/Output.html#Output Fixes issue #1420 [skip ci]
41 lines
1.3 KiB
Text
41 lines
1.3 KiB
Text
# User-defined commands for easier debugging of SWIG in gdb
|
|
#
|
|
# This file can be "included" into your main .gdbinit file using:
|
|
# source swig.gdb
|
|
# or otherwise paste the contents into .gdbinit
|
|
#
|
|
# Note all user defined commands can be seen using:
|
|
# (gdb) show user
|
|
# The documentation for each command can be easily viewed, for example:
|
|
# (gdb) help swigprint
|
|
|
|
define swigprint
|
|
if ($argc == 2)
|
|
set $expand_count = $arg1
|
|
else
|
|
set $expand_count = -1
|
|
end
|
|
printf "%s\n", Swig_to_string($arg0, $expand_count)
|
|
end
|
|
document swigprint
|
|
Displays any SWIG DOH object
|
|
Usage: swigprint swigobject [hashexpandcount]
|
|
swigobject - The object to display.
|
|
hashexpandcount - Number of nested Hash types to expand (default is 1). See Swig_set_max_hash_expand() to change default.
|
|
end
|
|
|
|
|
|
define locswigprint
|
|
if ($argc == 2)
|
|
set $expand_count = $arg1
|
|
else
|
|
set $expand_count = -1
|
|
end
|
|
printf "%s\n", Swig_to_string_with_location($arg0, $expand_count)
|
|
end
|
|
document locswigprint
|
|
Displays any SWIG DOH object prefixed with file and line location
|
|
Usage: locswigprint swigobject [hashexpandcount]
|
|
swigobject - The object to display.
|
|
hashexpandcount - Number of nested Hash types to expand (default is 1). See Swig_set_max_hash_expand() to change default.
|
|
end
|