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 "stack.h"
#include "source.h"
#include "annotate.h"
#include "hashtab.h"
#include "demangle.h"
#include "mi/mi-cmds.h"
#include "python-internal.h"
#include "gdbsupport/gdb_optional.h"
#include "cli/cli-style.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, gdb::unique_xmalloc_ptr< char > *name, struct symbol **sym, const struct block **sym_block, 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 void | py_print_type (struct ui_out *out, struct value *val) |
static void | 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, const char *func) |
static void | 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, frame_info_ptr 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, frame_info_ptr 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, frame_info_ptr 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, frame_info_ptr frame) |
static enum ext_lang_bt_status | py_print_args (PyObject *filter, struct ui_out *out, enum ext_lang_frame_args args_type, frame_info_ptr frame) |
static enum ext_lang_bt_status | py_print_frame (PyObject *filter, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, int indent, htab_t levels_printed) |
static PyObject * | bootstrap_python_frame_filters (frame_info_ptr frame, int frame_low, int frame_high) |
enum ext_lang_bt_status | gdbpy_apply_frame_filter (const struct extension_language_defn *extlang, frame_info_ptr frame, frame_filter_flags 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 38 of file py-framefilter.c.
|
static |
Definition at line 1077 of file py-framefilter.c.
References frame_info_to_frame_object(), and gdb_py_object_from_longest().
Referenced by gdbpy_apply_frame_filter().
|
static |
Definition at line 414 of file py-framefilter.c.
References annotate_arg_end(), annotate_frame_args(), CLI_SCALAR_VALUES, frame_arg::entry_kind, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, extract_sym(), extract_value(), get_user_print_options(), ui_out::is_mi_like_p(), MI_PRINT_ARGS, mi_should_print(), print_entry_values_no, print_entry_values_only, py_print_single_arg(), read_frame_arg(), frame_arg::sym, ui_out::text(), user_frame_print_options, frame_arg::val, and ui_out::wrap_hint().
Referenced by py_mi_print_variables(), and py_print_args().
|
static |
Definition at line 544 of file py-framefilter.c.
References EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, extract_sym(), extract_value(), ui_out::field_string(), get_user_print_options(), ui_out::is_mi_like_p(), MI_PRINT_LOCALS, MI_PRINT_SIMPLE_VALUES, mi_should_print(), NO_VALUES, py_print_type(), py_print_value(), read_var_value(), ui_out::spaces(), and ui_out::text().
Referenced by py_mi_print_variables(), and py_print_locals().
|
static |
Definition at line 59 of file py-framefilter.c.
References current_language, EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, gdbpy_is_string(), language_def(), language_mode_auto, name, PyObject_CallMethod, python_string_to_host_string(), and symbol_object_to_symbol().
Referenced by enumerate_args(), and enumerate_locals().
|
static |
Definition at line 130 of file py-framefilter.c.
References convert_value_from_python(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, and PyObject_CallMethod.
Referenced by enumerate_args(), and enumerate_locals().
enum ext_lang_bt_status gdbpy_apply_frame_filter | ( | const struct extension_language_defn * | extlang, |
frame_info_ptr | frame, | ||
frame_filter_flags | flags, | ||
enum ext_lang_frame_args | args_type, | ||
struct ui_out * | out, | ||
int | frame_low, | ||
int | frame_high ) |
Definition at line 1131 of file py-framefilter.c.
References bootstrap_python_frame_filters(), EXT_LANG_BT_ERROR, EXT_LANG_BT_NO_FILTERS, flags, gdb_printf(), gdb_python_initialized, gdbpy_convert_exception(), gdbpy_print_stack_or_quit(), get_frame_arch(), PRINT_MORE_FRAMES, and py_print_frame().
Definition at line 264 of file py-framefilter.c.
References func, and PyObject_CallMethod.
Referenced by py_mi_print_variables(), py_print_args(), py_print_frame(), and py_print_locals().
|
static |
Definition at line 168 of file py-framefilter.c.
References symbol::aclass(), symbol::is_argument(), 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, and MI_PRINT_LOCALS.
Referenced by enumerate_args(), and enumerate_locals().
|
static |
Definition at line 634 of file py-framefilter.c.
References enumerate_args(), enumerate_locals(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, and get_py_iter_from_func().
Referenced by py_print_frame().
|
static |
Definition at line 693 of file py-framefilter.c.
References annotate_frame_args(), CLI_PRESENCE, enumerate_args(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, get_py_iter_from_func(), ui_out::text(), and ui_out::wrap_hint().
Referenced by py_print_frame().
|
static |
Definition at line 746 of file py-framefilter.c.
References frame_info::addr, 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(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, ui_out::field_core_addr(), ui_out::field_fmt_signed(), ui_out::field_signed(), ui_out::field_skip(), ui_out::field_string(), file_name_style, find_frame_sal(), flags, frame_object_to_frame_info(), frame_relative_level(), frame_show_address(), function_name_style, gdbarch_bfd_arch_info(), gdbpy_is_string(), frame_info_ptr::get(), get_addr_from_python(), get_frame_arch(), get_frame_pc_masked(), get_py_iter_from_func(), get_user_print_options(), get_user_print_what_frame_info(), ui_out::is_mi_like_p(), frame_info::level, symtab_and_line::line, LOC_AND_ADDRESS, LOCATION, lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, PRINT_ARGS, print_args(), PRINT_FRAME_INFO, print_frame_info(), PRINT_HIDE, PRINT_LEVEL, PRINT_LOCALS, general_symbol_info::print_name(), print_source_lines(), py_mi_print_variables(), py_print_args(), py_print_frame(), py_print_locals(), PyObject_CallMethod, python_string_to_host_string(), SHORT_LOCATION, ui_out::spaces(), SRC_AND_LOC, SRC_LINE, cli_style_option::style(), symtab_and_line::symtab, ui_out::text(), ui_left, and ui_out::wrap_hint().
Referenced by gdbpy_apply_frame_filter(), and py_print_frame().
|
static |
Definition at line 667 of file py-framefilter.c.
References enumerate_locals(), EXT_LANG_BT_ERROR, EXT_LANG_BT_OK, and get_py_iter_from_func().
Referenced by py_print_frame().
|
static |
Definition at line 304 of file py-framefilter.c.
References annotate_arg_begin(), annotate_arg_name_end(), annotate_arg_value(), frame_arg::entry_kind, frame_arg::error, ui_out::field_fmt(), ui_out::field_signed(), ui_out::field_stream(), ui_out::field_string(), gdb_puts(), ui_out::is_mi_like_p(), general_symbol_info::language(), language_def(), metadata_style, MI_PRINT_SIMPLE_VALUES, NO_VALUES, print_entry_values_compact, print_entry_values_only, general_symbol_info::print_name(), ui_file::puts(), py_print_type(), py_print_value(), cli_style_option::style(), frame_arg::sym, ui_out::text(), value::type(), and frame_arg::val.
Referenced by enumerate_args().
Definition at line 207 of file py-framefilter.c.
References check_typedef(), ui_out::field_stream(), value::type(), and type_print().
Referenced by enumerate_locals(), and py_print_single_arg().
|
static |
Definition at line 224 of file py-framefilter.c.
References common_val_print(), ui_out::field_stream(), MI_PRINT_ALL_VALUES, MI_PRINT_SIMPLE_VALUES, mi_simple_type_p(), NO_VALUES, and value::type().
Referenced by enumerate_locals(), and py_print_single_arg().