This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Debug Methods in GDB Python


Siva Chandra <sivachandra@google.com> writes:
> Doug pointed out offlist that the ChangeLog was improperly done. Below
> is the corrected ChangeLog entry. For convenience, I have also
> attached the same patch that I have posted last time.
>
> 2013-11-25  Siva Chandra Reddy  <sivachandra@google.com>
>
>         Add Debug methods support in GDB Python.
>
>         * Makefile.in: Add entries for new files.
>         * data-directory/Makefile.in: Add entries for new Python files.
>         * eval.c (evaluate_subexp_standard): Lookup and invoke methods
>         defined in extension languages.
>         * valarith.c (value_x_binop, value_x_unop): Lookup and invoke
>         overloaded operator methods defined in extension languages.
>         * valops.c (find_oload_method_list, find_method_list,
>         find_overload_match, find_oload_champ): Lookup methods defined
>         in extension languages.
>         (value_has_indirect_dynamic_type): New function to determine
>         the indirect dynamic type of a value.
>         * value.h (find_overload_match): Update signature.
>         * ext-function.c: New file.
>         * ext-function.h: New file.
>         * python/py-debugmethods.c: New file.
>         * python/py-objfile.c (objfile_object): New field
>         'debug_methods'.
>         (objfpy_dealloc): XDECREF on the new debug_methods field.
>         (objfpy_new, objfile_to_objfile_object): Initialize
>         debug_methods field.
>         (objfpy_get_debug_methods): New function.
>         (objfile_getset): New entry 'debug_methods'.
>         * python/py-progspace.c (pspace_object): New field
>         'debug_methods'.
>         (pspy_dealloc): XDECREF on the new debug_methods field.
>         (pspy_new, pspace_to_pspace_object): Initialize
>         debug_methods field.
>         (pspy_get_debug_methods): New function.
>         (pspace_getset): New entry 'debug_methods'.
>         * python/python-internal.h: Add declarations for new functions.
>         * python/python.c (_initialize_python): Invoke
>         gdbpy_initialize_debugmethods.
>         * python/python.h: Add declarations of new functions.
>         * python/lib/gdb/__init__.py (debug_methods): New attribute.
>         * python/lib/gdb/debugmethods.py: New file.
>         * python/lib/gdb/command/debug-methods.py: New file.
>
>         testuite/
>         * gdb.python/py-debugmethods.cc: New testcase to test debug
>         methods.
>         * gdb.python/py-debugmethods.exp: New tests to test debug
>         methods.
>         * gdb.python/py-debugmethods.py: Python script supporting the
>         new testcase and tests.

Sorry for the delay.
I've been wanting to find time to investigate some of the suggestions I made.
e.g., instead of DEFAULT_DEBUG_METHOD_GROUP, etc.
have the grouping work the same way it does for the libstdc++
pretty-printers.  Have you thought about it?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]