GDB (xrefs)
|
#include "defs.h"
#include "objfiles.h"
#include "symtab.h"
#include "language.h"
#include "arch-utils.h"
#include "python.h"
#include "ui-out.h"
#include "valprint.h"
#include "annotate.h"
#include "hashtab.h"
#include "demangle.h"
#include "mi/mi-cmds.h"
#include "python-internal.h"
Go to the source code of this file.
Enumerations | |
enum | mi_print_types { MI_PRINT_ARGS, MI_PRINT_LOCALS } |
Functions | |
static enum ext_lang_bt_status | extract_sym (PyObject *obj, char **name, struct symbol **sym, const struct language_defn **language) |
static enum ext_lang_bt_status | extract_value (PyObject *obj, struct value **value) |
static int | mi_should_print (struct symbol *sym, enum mi_print_types type) |
static enum ext_lang_bt_status | py_print_type (struct ui_out *out, struct value *val) |
static enum ext_lang_bt_status | py_print_value (struct ui_out *out, struct value *val, const struct value_print_options *opts, int indent, enum ext_lang_frame_args args_type, const struct language_defn *language) |
static PyObject * | get_py_iter_from_func (PyObject *filter, char *func) |
static enum ext_lang_bt_status | py_print_single_arg (struct ui_out *out, const char *sym_name, struct frame_arg *fa, struct value *fv, const struct value_print_options *opts, enum ext_lang_frame_args args_type, int print_args_field, const struct language_defn *language) |
static enum ext_lang_bt_status | enumerate_args (PyObject *iter, struct ui_out *out, enum ext_lang_frame_args args_type, int print_args_field, struct frame_info *frame) |
static enum ext_lang_bt_status | enumerate_locals (PyObject *iter, struct ui_out *out, int indent, enum ext_lang_frame_args args_type, int print_args_field, struct frame_info *frame) |
static enum ext_lang_bt_status | py_mi_print_variables (PyObject *filter, struct ui_out *out, struct value_print_options *opts, enum ext_lang_frame_args args_type, struct frame_info *frame) |
static enum ext_lang_bt_status | py_print_locals (PyObject *filter, struct ui_out *out, enum ext_lang_frame_args args_type, int indent, struct frame_info *frame) |
static enum ext_lang_bt_status | py_print_args (PyObject *filter, struct ui_out *out, enum ext_lang_frame_args args_type, struct frame_info *frame) |
static enum ext_lang_bt_status | py_print_frame (PyObject *filter, int flags, enum ext_lang_frame_args args_type, struct ui_out *out, int indent, htab_t levels_printed) |
static PyObject * | bootstrap_python_frame_filters (struct frame_info *frame, int frame_low, int frame_high) |
enum ext_lang_bt_status | gdbpy_apply_frame_filter (const struct extension_language_defn *extlang, struct frame_info *frame, int flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high) |
enum mi_print_types |
Enumerator | |
---|---|
MI_PRINT_ARGS | |
MI_PRINT_LOCALS |
Definition at line 34 of file py-framefilter.c.
|
static |
Definition at line 1440 of file py-framefilter.c.
References do_cleanups(), error(), frame_info_to_frame_object(), make_cleanup(), make_cleanup_py_decref(), null_cleanup(), Py_DECREF, and PyObject_GetAttrString.
Referenced by gdbpy_apply_frame_filter().
|
static |
Definition at line 497 of file py-framefilter.c.
References _, annotate_arg_end(), annotate_frame_args(), CATCH, CLI_SCALAR_VALUES, value_print_options::deref_ref, END_CATCH, frame_arg::entry_kind, error(), frame_arg::error, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, extract_sym(), extract_value(), gdbpy_convert_exception(), get_user_print_options(), MI_PRINT_ARGS, mi_should_print(), print_entry_values_no, print_entry_values_only, Py_DECREF, py_print_single_arg(), read_frame_arg(), RETURN_MASK_ALL, value_print_options::summary, TRY, ui_out_is_mi_like_p(), ui_out_text(), ui_out_wrap_hint(), and xfree().
Referenced by py_mi_print_variables(), and py_print_args().
|
static |
Definition at line 719 of file py-framefilter.c.
References CATCH, value_print_options::deref_ref, do_cleanups(), END_CATCH, error(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, extract_sym(), extract_value(), gdbpy_convert_exception(), get_user_print_options(), make_cleanup(), make_cleanup_py_decref(), make_cleanup_ui_out_tuple_begin_end(), MI_PRINT_LOCALS, MI_PRINT_SIMPLE_VALUES, mi_should_print(), NO_VALUES, py_print_type(), py_print_value(), read_var_value(), RETURN_MASK_ERROR, TRY, ui_out_field_string(), ui_out_is_mi_like_p(), ui_out_spaces(), ui_out_text(), and xfree().
Referenced by py_mi_print_variables(), and py_print_locals().
|
static |
Definition at line 54 of file py-framefilter.c.
References _, current_language, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, gdbpy_is_string(), language_def(), language_mode_auto, Py_DECREF, python_language, python_string_to_host_string(), SYMBOL_LANGUAGE, symbol_object_to_symbol(), and SYMBOL_PRINT_NAME.
Referenced by enumerate_args(), and enumerate_locals().
|
static |
Definition at line 121 of file py-framefilter.c.
References convert_value_from_python(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, Py_DECREF, and PyObject_HasAttrString.
Referenced by enumerate_args(), and enumerate_locals().
enum ext_lang_bt_status gdbpy_apply_frame_filter | ( | const struct extension_language_defn * | extlang, |
struct frame_info * | frame, | ||
int | flags, | ||
enum ext_lang_frame_args | args_type, | ||
struct ui_out * | out, | ||
int | frame_low, | ||
int | frame_high | ||
) |
Definition at line 1515 of file py-framefilter.c.
References bootstrap_python_frame_filters(), CATCH, current_language, do_cleanups(), END_CATCH, ensure_python_env(), error(), EXT_LANG_BT_ERROR, EXT_LANG_BT_NO_FILTERS, gdb_python_initialized, gdbpy_print_stack(), get_frame_arch(), make_cleanup_htab_delete(), make_cleanup_py_decref(), py_print_frame(), RETURN_MASK_ALL, and TRY.
|
static |
Definition at line 313 of file py-framefilter.c.
References Py_DECREF, and PyObject_HasAttrString.
Referenced by py_mi_print_variables(), py_print_args(), py_print_frame(), and py_print_locals().
|
static |
Definition at line 161 of file py-framefilter.c.
References LOC_ARG, LOC_BLOCK, LOC_COMPUTED, LOC_CONST, LOC_CONST_BYTES, LOC_LABEL, LOC_LOCAL, LOC_OPTIMIZED_OUT, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, LOC_STATIC, LOC_TYPEDEF, LOC_UNDEF, LOC_UNRESOLVED, MI_PRINT_LOCALS, SYMBOL_CLASS, and SYMBOL_IS_ARGUMENT.
Referenced by enumerate_args(), and enumerate_locals().
|
static |
Definition at line 874 of file py-framefilter.c.
References do_cleanups(), enumerate_args(), enumerate_locals(), error(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, get_py_iter_from_func(), make_cleanup_py_decref(), make_cleanup_py_xdecref(), and make_cleanup_ui_out_list_begin_end().
Referenced by py_print_frame().
|
static |
Definition at line 952 of file py-framefilter.c.
References annotate_frame_args(), CATCH, do_cleanups(), END_CATCH, enumerate_args(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, gdbpy_convert_exception(), get_py_iter_from_func(), make_cleanup_py_xdecref(), make_cleanup_ui_out_list_begin_end(), RETURN_MASK_ALL, TRY, ui_out_is_mi_like_p(), and ui_out_text().
Referenced by py_print_frame().
|
static |
Definition at line 1019 of file py-framefilter.c.
References _, value_print_options::addressprint, annotate_frame_address(), annotate_frame_address_end(), annotate_frame_begin(), annotate_frame_end(), annotate_frame_function_name(), annotate_frame_source_begin(), annotate_frame_source_file(), annotate_frame_source_file_end(), annotate_frame_source_line(), CATCH, do_cleanups(), END_CATCH, EXT_LANG_BT_COMPLETED, EXT_LANG_BT_ERROR, frame_object_to_frame_info(), frame_relative_level(), gdbpy_convert_exception(), gdbpy_is_string(), get_frame_arch(), get_py_iter_from_func(), get_user_print_options(), frame_info::level, line, lookup_minimal_symbol_by_pc(), make_cleanup(), make_cleanup_py_decref(), make_cleanup_ui_out_list_begin_end(), make_cleanup_ui_out_tuple_begin_end(), bound_minimal_symbol::minsym, MSYMBOL_PRINT_NAME, null_cleanup(), PRINT_ARGS, print_args(), PRINT_FRAME_INFO, print_frame_info(), PRINT_LEVEL, PRINT_LOCALS, Py_DECREF, py_mi_print_variables(), py_print_args(), py_print_locals(), PyObject_HasAttrString, python_string_to_host_string(), RETURN_MASK_ERROR, TRY, ui_left, ui_out_field_core_addr(), ui_out_field_fmt_int(), ui_out_field_int(), ui_out_field_skip(), ui_out_field_string(), ui_out_is_mi_like_p(), ui_out_spaces(), ui_out_text(), ui_out_wrap_hint(), and xfree().
Referenced by gdbpy_apply_frame_filter().
|
static |
Definition at line 918 of file py-framefilter.c.
References do_cleanups(), enumerate_locals(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, get_py_iter_from_func(), make_cleanup_py_xdecref(), and make_cleanup_ui_out_list_begin_end().
Referenced by py_print_frame().
|
static |
Definition at line 357 of file py-framefilter.c.
References _, annotate_arg_begin(), annotate_arg_name_end(), annotate_arg_value(), CATCH, do_cleanups(), END_CATCH, frame_arg::entry_kind, frame_arg::error, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, fprintf_symbol_filtered(), fputs_filtered(), gdb_assert, gdbpy_convert_exception(), language_def(), make_cleanup(), make_cleanup_ui_file_delete(), make_cleanup_ui_out_tuple_begin_end(), mem_fileopen(), MI_PRINT_SIMPLE_VALUES, NO_VALUES, null_cleanup(), print_entry_values_compact, print_entry_values_only, py_print_type(), py_print_value(), RETURN_MASK_ERROR, frame_arg::sym, SYMBOL_LANGUAGE, SYMBOL_PRINT_NAME, TRY, ui_out_field_fmt(), ui_out_field_int(), ui_out_field_stream(), ui_out_field_string(), ui_out_is_mi_like_p(), ui_out_text(), frame_arg::val, and value_type().
Referenced by enumerate_args().
|
static |
Definition at line 202 of file py-framefilter.c.
References CATCH, check_typedef(), do_cleanups(), END_CATCH, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, gdbpy_convert_exception(), make_cleanup_ui_file_delete(), mem_fileopen(), RETURN_MASK_ALL, TRY, type, type_print(), ui_out_field_stream(), and value_type().
Referenced by enumerate_locals(), and py_print_single_arg().
|
static |
Definition at line 238 of file py-framefilter.c.
References CATCH, check_typedef(), common_val_print(), do_cleanups(), END_CATCH, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, gdbpy_convert_exception(), make_cleanup_ui_file_delete(), mem_fileopen(), MI_PRINT_ALL_VALUES, MI_PRINT_SIMPLE_VALUES, NO_VALUES, RETURN_MASK_ALL, TRY, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_CODE_UNION, ui_out_field_stream(), ui_out_is_mi_like_p(), and value_type().
Referenced by enumerate_locals(), and py_print_single_arg().