|
GDB (xrefs)
|
#include "defs.h"#include "gdbcore.h"#include "gdbcmd.h"#include "gdbthread.h"#include "btrace.h"#include "py-record.h"#include "py-record-btrace.h"#include "disasm.h"Go to the source code of this file.
Classes | |
| struct | btpy_list_object |
Macros | |
| #define | BTPY_PYSLICE(x) ((PySliceObject *) x) |
Functions | |
| static const btrace_insn * | btrace_insn_from_recpy_insn (const PyObject *const pyobject) |
| static const btrace_function * | btrace_func_from_recpy_func (const PyObject *const pyobject) |
| static PyObject * | btpy_insn_or_gap_new (const thread_info *tinfo, Py_ssize_t number) |
| static PyObject * | btpy_list_new (ptid_t ptid, Py_ssize_t first, Py_ssize_t last, Py_ssize_t step, PyTypeObject *element_type) |
| PyObject * | recpy_bt_insn_sal (PyObject *self, void *closure) |
| PyObject * | recpy_bt_insn_pc (PyObject *self, void *closure) |
| PyObject * | recpy_bt_insn_size (PyObject *self, void *closure) |
| PyObject * | recpy_bt_insn_is_speculative (PyObject *self, void *closure) |
| PyObject * | recpy_bt_insn_data (PyObject *self, void *closure) |
| PyObject * | recpy_bt_insn_decoded (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_level (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_symbol (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_instructions (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_up (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_prev (PyObject *self, void *closure) |
| PyObject * | recpy_bt_func_next (PyObject *self, void *closure) |
| static Py_ssize_t | btpy_list_length (PyObject *self) |
| static PyObject * | btpy_list_item (PyObject *self, Py_ssize_t index) |
| static PyObject * | btpy_list_slice (PyObject *self, PyObject *value) |
| static LONGEST | btpy_list_position (PyObject *self, PyObject *value) |
| static int | btpy_list_contains (PyObject *self, PyObject *value) |
| static PyObject * | btpy_list_index (PyObject *self, PyObject *value) |
| static PyObject * | btpy_list_count (PyObject *self, PyObject *value) |
| static PyObject * | btpy_list_richcompare (PyObject *self, PyObject *other, int op) |
| PyObject * | recpy_bt_method (PyObject *self, void *closure) |
| PyObject * | recpy_bt_format (PyObject *self, void *closure) |
| PyObject * | recpy_bt_replay_position (PyObject *self, void *closure) |
| PyObject * | recpy_bt_begin (PyObject *self, void *closure) |
| PyObject * | recpy_bt_end (PyObject *self, void *closure) |
| PyObject * | recpy_bt_instruction_history (PyObject *self, void *closure) |
| PyObject * | recpy_bt_function_call_history (PyObject *self, void *closure) |
| PyObject * | recpy_bt_goto (PyObject *self, PyObject *args) |
| int | gdbpy_initialize_btrace (void) |
Variables | |
| static PyTypeObject | btpy_list_type |
| struct PyMethodDef | btpy_list_methods [] |
| static PySequenceMethods | btpy_list_sequence_methods |
| static PyMappingMethods | btpy_list_mapping_methods |
| #define BTPY_PYSLICE | ( | x | ) | ((PySliceObject *) x) |
Definition at line 35 of file py-record-btrace.c.
Referenced by btpy_list_slice().
|
static |
Definition at line 155 of file py-record-btrace.c.
References btrace_conf(), btrace_decode_error(), btrace_find_insn_by_number(), btrace_insn_get_error(), btrace_config::format, thread_info::ptid, RECORD_METHOD_BTRACE, recpy_gap_new(), and recpy_insn_new().
Referenced by recpy_bt_begin(), recpy_bt_end(), and recpy_bt_replay_position().
|
static |
Definition at line 543 of file py-record-btrace.c.
References btpy_list_position().
Referenced by btpy_list_count(), and gdbpy_initialize_btrace().
|
static |
Definition at line 567 of file py-record-btrace.c.
References btpy_list_contains().
|
static |
Definition at line 554 of file py-record-btrace.c.
References _, btpy_list_position(), and gdb_py_long_from_longest.
|
static |
Definition at line 464 of file py-record-btrace.c.
References _, btpy_list_length(), btpy_list_object::element_type, btpy_list_object::first, btpy_list_object::ptid, RECORD_METHOD_BTRACE, recpy_func_new(), recpy_insn_new(), recpy_insn_type, and btpy_list_object::step.
Referenced by btpy_list_slice(), and gdbpy_initialize_btrace().
|
static |
Definition at line 447 of file py-record-btrace.c.
References btpy_list_object::first, btpy_list_object::last, and btpy_list_object::step.
Referenced by btpy_list_item(), btpy_list_slice(), and gdbpy_initialize_btrace().
|
static |
Definition at line 180 of file py-record-btrace.c.
References btpy_list_type, btpy_list_object::element_type, btpy_list_object::first, btpy_list_object::last, btpy_list_object::ptid, and btpy_list_object::step.
Referenced by btpy_list_slice(), recpy_bt_func_instructions(), recpy_bt_function_call_history(), and recpy_bt_instruction_history().
|
static |
Definition at line 517 of file py-record-btrace.c.
References btpy_list_object::element_type, btpy_list_object::first, btpy_list_object::last, recpy_element_object::number, btpy_list_object::ptid, recpy_element_object::ptid, ptid_equal(), Py_TYPE, and btpy_list_object::step.
Referenced by btpy_list_contains(), and btpy_list_index().
|
static |
Definition at line 578 of file py-record-btrace.c.
References btpy_list_object::element_type, btpy_list_object::first, btpy_list_object::last, btpy_list_object::ptid, ptid_equal(), Py_TYPE, and btpy_list_object::step.
Referenced by gdbpy_initialize_btrace().
|
static |
Definition at line 484 of file py-record-btrace.c.
References _, btpy_list_item(), btpy_list_length(), btpy_list_new(), BTPY_PYSLICE, btpy_list_object::element_type, btpy_list_object::first, btpy_list_object::ptid, and btpy_list_object::step.
Referenced by gdbpy_initialize_btrace().
|
static |
Definition at line 113 of file py-record-btrace.c.
References _, btrace_call_get(), btrace_find_call_by_number(), btrace_is_empty(), find_thread_ptid(), func, gdbpy_gdb_error, recpy_element_object::number, recpy_element_object::ptid, Py_TYPE, and recpy_func_type.
Referenced by recpy_bt_func_instructions(), recpy_bt_func_level(), recpy_bt_func_next(), recpy_bt_func_prev(), recpy_bt_func_symbol(), and recpy_bt_func_up().
|
static |
Definition at line 70 of file py-record-btrace.c.
References _, btrace_find_insn_by_number(), btrace_insn_get(), btrace_is_empty(), find_thread_ptid(), gdbpy_gdb_error, recpy_element_object::number, recpy_element_object::ptid, Py_TYPE, and recpy_insn_type.
Referenced by recpy_bt_insn_data(), recpy_bt_insn_decoded(), recpy_bt_insn_is_speculative(), recpy_bt_insn_pc(), recpy_bt_insn_sal(), and recpy_bt_insn_size().
| int gdbpy_initialize_btrace | ( | void | ) |
Definition at line 834 of file py-record-btrace.c.
References btpy_list_contains(), btpy_list_item(), btpy_list_length(), btpy_list_mapping_methods, btpy_list_methods, btpy_list_richcompare(), btpy_list_sequence_methods, btpy_list_slice(), and btpy_list_type.
Referenced by do_start_initialization().
| PyObject* recpy_bt_begin | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 672 of file py-record-btrace.c.
References btpy_insn_or_gap_new(), btrace_fetch(), btrace_insn_begin(), btrace_insn_number(), btrace_is_empty(), find_thread_ptid(), and arm-linux::record().
Referenced by recpy_begin().
| PyObject* recpy_bt_end | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 694 of file py-record-btrace.c.
References btpy_insn_or_gap_new(), btrace_fetch(), btrace_insn_end(), btrace_insn_number(), btrace_is_empty(), find_thread_ptid(), and arm-linux::record().
Referenced by recpy_end().
| PyObject* recpy_bt_format | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 632 of file py-record-btrace.c.
References btrace_conf(), btrace_format_short_string(), find_thread_ptid(), btrace_config::format, and arm-linux::record().
Referenced by recpy_format().
| PyObject* recpy_bt_func_instructions | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 371 of file py-record-btrace.c.
References btpy_list_new(), btrace_func_from_recpy_func(), func, and recpy_insn_type.
Referenced by recpy_func_instructions().
| PyObject* recpy_bt_func_level | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 338 of file py-record-btrace.c.
References btrace_func_from_recpy_func(), find_thread_ptid(), and func.
Referenced by recpy_func_level().
| PyObject* recpy_bt_func_next | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 430 of file py-record-btrace.c.
References btrace_func_from_recpy_func(), func, RECORD_METHOD_BTRACE, and recpy_func_new().
Referenced by recpy_func_next().
| PyObject* recpy_bt_func_prev | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 412 of file py-record-btrace.c.
References btrace_func_from_recpy_func(), func, RECORD_METHOD_BTRACE, and recpy_func_new().
Referenced by recpy_func_prev().
| PyObject* recpy_bt_func_symbol | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 354 of file py-record-btrace.c.
References btrace_func_from_recpy_func(), func, and symbol_to_symbol_object().
Referenced by recpy_func_symbol().
| PyObject* recpy_bt_func_up | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 394 of file py-record-btrace.c.
References btrace_func_from_recpy_func(), func, RECORD_METHOD_BTRACE, and recpy_func_new().
Referenced by recpy_func_up().
| PyObject* recpy_bt_function_call_history | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 745 of file py-record-btrace.c.
References btpy_list_new(), btrace_call_begin(), btrace_call_end(), btrace_call_number(), btrace_fetch(), btrace_is_empty(), find_thread_ptid(), arm-linux::record(), and recpy_func_type.
Referenced by recpy_function_call_history().
| PyObject* recpy_bt_goto | ( | PyObject * | self, |
| PyObject * | args | ||
| ) |
Definition at line 773 of file py-record-btrace.c.
References _, btrace_insn_end(), btrace_insn_number(), btrace_is_empty(), CATCH, END_CATCH, find_thread_ptid(), GDB_PY_HANDLE_EXCEPTION, gdbpy_gdb_error, recpy_element_object::number, Py_TYPE, arm-linux::record(), recpy_insn_type, RETURN_MASK_ALL, target_goto_record(), target_goto_record_end(), and TRY.
Referenced by recpy_goto().
| PyObject* recpy_bt_insn_data | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 272 of file py-record-btrace.c.
References btrace_insn_from_recpy_insn(), CATCH, END_CATCH, GDB_PY_HANDLE_EXCEPTION, btrace_insn::pc, read_memory(), RETURN_MASK_ALL, btrace_insn::size, TRY, xfree(), and xmalloc().
Referenced by recpy_insn_data().
| PyObject* recpy_bt_insn_decoded | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 311 of file py-record-btrace.c.
References btrace_insn_from_recpy_insn(), CATCH, END_CATCH, gdb_print_insn(), gdbpy_convert_exception(), btrace_insn::pc, RETURN_MASK_ALL, string_file::string(), target_gdbarch(), and TRY.
Referenced by recpy_insn_decoded().
| PyObject* recpy_bt_insn_is_speculative | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 255 of file py-record-btrace.c.
References BTRACE_INSN_FLAG_SPECULATIVE, btrace_insn_from_recpy_insn(), and btrace_insn::flags.
Referenced by recpy_insn_is_speculative().
| PyObject* recpy_bt_insn_pc | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 227 of file py-record-btrace.c.
References btrace_insn_from_recpy_insn(), gdb_py_long_from_ulongest, and btrace_insn::pc.
Referenced by recpy_insn_pc().
| PyObject* recpy_bt_insn_sal | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 202 of file py-record-btrace.c.
References btrace_insn_from_recpy_insn(), CATCH, END_CATCH, find_pc_line(), GDB_PY_HANDLE_EXCEPTION, btrace_insn::pc, RETURN_MASK_ALL, symtab_and_line_to_sal_object(), and TRY.
Referenced by recpy_insn_sal().
| PyObject* recpy_bt_insn_size | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 241 of file py-record-btrace.c.
References btrace_insn_from_recpy_insn(), and btrace_insn::size.
Referenced by recpy_insn_size().
| PyObject* recpy_bt_instruction_history | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 716 of file py-record-btrace.c.
References btpy_list_new(), btrace_fetch(), btrace_insn_begin(), btrace_insn_end(), btrace_insn_number(), btrace_is_empty(), find_thread_ptid(), arm-linux::record(), and recpy_insn_type.
Referenced by recpy_instruction_history().
| PyObject* recpy_bt_method | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 623 of file py-record-btrace.c.
Referenced by recpy_method().
| PyObject* recpy_bt_replay_position | ( | PyObject * | self, |
| void * | closure | ||
| ) |
Definition at line 653 of file py-record-btrace.c.
References btpy_insn_or_gap_new(), btrace_insn_number(), find_thread_ptid(), and arm-linux::record().
Referenced by recpy_replay_position().
|
static |
Definition at line 826 of file py-record-btrace.c.
Referenced by gdbpy_initialize_btrace().
| struct PyMethodDef btpy_list_methods[] |
Definition at line 810 of file py-record-btrace.c.
Referenced by gdbpy_initialize_btrace().
|
static |
Definition at line 819 of file py-record-btrace.c.
Referenced by gdbpy_initialize_btrace().
|
static |
Definition at line 62 of file py-record-btrace.c.
Referenced by btpy_list_new(), and gdbpy_initialize_btrace().
1.8.14