8sa1-binutils-gdb/gdb/testsuite/gdb.python
Simon Marchi 1256af7d1a python: Provide textual representation for Inferior and Objfile
Printing a GDB Python object is notoriously not helpful:

>>> print(gdb.selected_inferior())
<gdb.Inferior object at 0x7fea59aed198>
>>> print(gdb.objfiles())
[<gdb.Objfile object at 0x7fea59b57c90>]

This makes printing debug traces more difficult than it should be.  This
patch provides some repr() implementation for these two types (more to
come if people agree with the idea, but I want to test the water first).
Here's the same example as above, but with this patch:

>>> print(gdb.selected_inferior())
<gdb.Inferior num=1>
>>> print(gdb.objfiles())
[<gdb.Objfile filename=/home/emaisin/build/binutils-gdb-gcc-git/gdb/test>]

I implemented repr rather than str, because when printing a list (or
another container I suppose), Python calls the repr method of the
elements.  This is useful when printing a list of inferiors or objfiles.
The print(gdb.objfiles()) above would not have worked if I had
implemented str.

I found this post useful to understand the difference between repr and
str:

  https://stackoverflow.com/questions/1436703/difference-between-str-and-repr

gdb/ChangeLog:

	* python/py-inferior.c (infpy_repr): New.
	(inferior_object_type): Register infpy_repr.
	* python/py-objfile.c (objfpy_repr): New.
	(objfile_object_type): Register objfpy_repr.

gdb/testsuite/ChangeLog:

	* gdb.python/py-inferior.exp: Test repr() of gdb.Inferior.
	* gdb.python/py-objfile.exp: Test repr() of gdb.Objfile.
	* gdb.python/py-symtab.exp: Update test printing an objfile.

gdb/doc/ChangeLog:

	* python.texi (Basic Python): Mention the string representation
	of GDB Python objects.
2018-09-13 11:54:38 -04:00
..
amd64-py-framefilter-invalidarg.S Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
lib-types.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
lib-types.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-arch.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-arch.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-as-string.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-as-string.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-bad-printers.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-bad-printers.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-bad-printers.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-block.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-block.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint-create-fail.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint-create-fail.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint-create-fail.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint.exp Allow breakpoint commands to be set from Python 2018-05-04 15:58:09 -06:00
py-caller-is.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-caller-is.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-cmd.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-cmd.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-completion.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-completion.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-error.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-error.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-events-shlib.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-events.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-events.exp Testsuite: fully migrate to use_gdb_stub convenience func 2018-03-23 10:38:23 +01:00
py-events.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-evsignal.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-evthreads.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-evthreads.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-explore-cc.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-explore.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-explore.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-explore.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint2.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint2.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint2.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finish-breakpoint.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame-args.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame-args.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame-args.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame-inline.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame-inline.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-frame.c
py-frame.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-gdb.py.in Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-invalidarg-gdb.py.in Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-invalidarg.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-invalidarg.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-mi.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter-mi.exp MI: Fix printing of frame architecture with Python frame filters enabled 2018-08-27 17:12:41 -04:00
py-framefilter.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter.exp Throw a "quit" on a KeyboardException in py-framefilter.c 2018-03-26 21:57:12 -06:00
py-framefilter.py Throw a "quit" on a KeyboardException in py-framefilter.c 2018-03-26 21:57:12 -06:00
py-function.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-inferior.c
py-inferior.exp python: Provide textual representation for Inferior and Objfile 2018-09-13 11:54:38 -04:00
py-infthread.c
py-infthread.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-lazy-string.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-lazy-string.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-linetable.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-linetable.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-linetable.S Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-lookup-type.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-events-gdb.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-events.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-events.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-objfile-gdb.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-objfile.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-objfile.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-mi-var-info-path-expression.c Fix segfault when invoking -var-info-path-expression on a dynamic varobj 2018-07-31 10:13:41 -04:00
py-mi-var-info-path-expression.exp Fix segfault when invoking -var-info-path-expression on a dynamic varobj 2018-07-31 10:13:41 -04:00
py-mi-var-info-path-expression.py Fix segfault when invoking -var-info-path-expression on a dynamic varobj 2018-07-31 10:13:41 -04:00
py-mi.exp MI: Allow non-raw varobj evaluation 2018-02-02 14:03:25 -05:00
py-objfile-script-gdb.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-objfile-script.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-objfile-script.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-objfile.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-objfile.exp python: Provide textual representation for Inferior and Objfile 2018-09-13 11:54:38 -04:00
py-parameter.exp Fix "set" handling of Python parameters 2018-05-31 15:02:01 -06:00
py-pp-integral.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-integral.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-integral.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-maint.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-maint.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-maint.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-re-notag.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-re-notag.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-re-notag.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-registration.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-registration.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-pp-registration.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-prettyprint.c Allow a pretty-printer without a to_string method 2018-09-08 20:49:15 -06:00
py-prettyprint.exp Make py-prettyprint.exp test names unique 2018-09-08 21:47:53 -06:00
py-prettyprint.py Allow a pretty-printer without a to_string method 2018-09-08 20:49:15 -06:00
py-progspace.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-progspace.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-prompt.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-prompt.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-rbreak-func2.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-rbreak.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-rbreak.exp [gdb/testsuite] Fix regexp in py-rbreak.exp 2018-08-04 11:40:18 +02:00
py-record-btrace-threads.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-btrace-threads.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-btrace.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-btrace.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-full.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-full.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-recurse-unwind.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-recurse-unwind.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-recurse-unwind.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-rvalue-ref-value-cc.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-rvalue-ref-value-cc.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-section-script.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-section-script.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-section-script.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-shared-sl.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-shared.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-shared.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-strfns.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-strfns.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-symbol.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-symbol.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-symtab.exp python: Provide textual representation for Inferior and Objfile 2018-09-13 11:54:38 -04:00
py-sync-interp.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-sync-interp.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-template.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-template.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-thrhandle.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-thrhandle.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-type.c Expose type alignment on gdb.Type 2018-04-30 11:25:31 -06:00
py-type.exp Expose type alignment on gdb.Type 2018-04-30 11:25:31 -06:00
py-typeprint.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-typeprint.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-typeprint.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind-maint.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind-maint.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind-maint.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-unwind.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-value-cc.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-value-cc.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-value.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-value.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-xmethods.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-xmethods.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-xmethods.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
python-1.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
python.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
python.exp Add "continue" response to pager 2018-06-05 11:02:52 -06:00
source1 Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
source2.py Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00