79 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
95 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
108 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
121 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
134 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
147 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
160 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
173 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
191 return (PyObject *) obj;
204 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
217 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
230 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
243 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
256 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
269 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
287 return (PyObject *) obj;
300 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
313 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
326 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
339 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
352 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
365 return PyErr_Format (PyExc_NotImplementedError,
_(
"Not implemented."));
376 return PyInt_FromSsize_t (obj->
number);
401 Py_INCREF (Py_NotImplemented);
402 return Py_NotImplemented;
427 Py_INCREF (Py_NotImplemented);
428 return Py_NotImplemented;
434 recpy_gap_new (
int reason_code,
const char *reason_string, Py_ssize_t number)
446 return (PyObject *) obj;
456 return PyInt_FromSsize_t (obj->
number);
483 "goto (instruction|function_call) -> None.\n\ 484 Rewind to given location."},
491 {
"method",
recpy_method, NULL,
"Current recording method.", NULL },
492 {
"format",
recpy_format, NULL,
"Current recording format.", NULL },
496 "List of instructions in current recording.", NULL },
498 "List of function calls in current recording.", NULL },
500 "First instruction in current recording.", NULL },
502 "One past the last instruction in current recording. This is typically \ 503 the current instruction and is used for e.g. record.goto (record.end).", NULL },
511 {
"sal",
recpy_insn_sal, NULL,
"associated symbol and line", NULL},
517 executed speculatively", NULL},
528 this function segment", NULL},
529 {
"up",
recpy_func_up, NULL,
"caller or returned-to function segment", NULL},
530 {
"prev",
recpy_func_prev, NULL,
"previous segment of this function", NULL},
531 {
"next",
recpy_func_next, NULL,
"next segment of this function", NULL},
597 const char *method = NULL;
598 const char *format = NULL;
599 PyObject *ret = NULL;
601 if (!PyArg_ParseTuple (args,
"|ss", &method, &format))
632 return (PyObject *) ret;
640 PyObject *ret = NULL;
PyObject * gdbpy_start_recording(PyObject *self, PyObject *args)
static PyObject * recpy_element_richcompare(PyObject *self, PyObject *other, int op)
PyTypeObject py_insn_type
PyObject * recpy_bt_func_symbol(PyObject *self, void *closure)
static PyObject * recpy_insn_decoded(PyObject *self, void *closure)
PyObject * recpy_insn_new(ptid_t ptid, enum record_method method, Py_ssize_t number)
PyObject * gdbpy_current_recording(PyObject *self, PyObject *args)
PyObject * recpy_bt_func_instructions(PyObject *self, void *closure)
static Py_hash_t recpy_element_hash(PyObject *self)
PyObject * recpy_bt_insn_size(PyObject *self, void *closure)
static PyObject * recpy_func_symbol(PyObject *self, void *closure)
PyObject * recpy_bt_func_up(PyObject *self, void *closure)
static PyObject * recpy_gap_number(PyObject *self, void *closure)
PyObject * recpy_bt_insn_pc(PyObject *self, void *closure)
PyObject * recpy_bt_instruction_history(PyObject *self, void *closure)
int gdbpy_initialize_record(void)
PyObject * recpy_bt_insn_is_speculative(PyObject *self, void *closure)
static PyObject * recpy_instruction_history(PyObject *self, void *closure)
#define PyVarObject_HEAD_INIT(type, size)
static PyTypeObject recpy_record_type
static PyObject * recpy_func_instructions(PyObject *self, void *closure)
static gdb_PyGetSetDef recpy_record_getset[]
void record_start(const char *method, const char *format, int from_tty)
PyObject * recpy_bt_format(PyObject *self, void *closure)
static PyObject * recpy_insn_data(PyObject *self, void *closure)
PyTypeObject recpy_func_type
#define CATCH(EXCEPTION, MASK)
PyObject_HEAD ptid_t ptid
PyObject * recpy_bt_begin(PyObject *self, void *closure)
void record_stop(int from_tty)
enum record_method method
static PyObject * recpy_begin(PyObject *self, void *closure)
PyObject * recpy_full_format(PyObject *self, void *closure)
static gdb_PyGetSetDef recpy_gap_getset[]
static gdb_PyGetSetDef recpy_insn_getset[]
PyObject * recpy_func_new(ptid_t ptid, enum record_method method, Py_ssize_t number)
static PyObject * recpy_goto(PyObject *self, PyObject *value)
struct target_ops * find_record_target(void)
static PyMethodDef recpy_record_methods[]
PyObject * recpy_full_method(PyObject *self, void *closure)
static PyObject * recpy_insn_pc(PyObject *self, void *closure)
PyObject * recpy_bt_goto(PyObject *self, PyObject *args)
static PyObject * recpy_gap_reason_string(PyObject *self, void *closure)
PyTypeObject recpy_gap_type
static PyObject * recpy_replay_position(PyObject *self, void *closure)
PyObject * recpy_bt_func_level(PyObject *self, void *closure)
static PyObject * recpy_func_up(PyObject *self, void *closure)
static PyObject * recpy_method(PyObject *self, void *closure)
PyObject * recpy_bt_func_prev(PyObject *self, void *closure)
enum record_method target_record_method(ptid_t ptid)
static PyObject * recpy_insn_is_speculative(PyObject *self, void *closure)
PyObject * recpy_bt_replay_position(PyObject *self, void *closure)
static PyObject * recpy_func_next(PyObject *self, void *closure)
void gdbpy_convert_exception(struct gdb_exception exception)
static PyObject * recpy_end(PyObject *self, void *closure)
static gdb_PyGetSetDef recpy_func_getset[]
PyObject * recpy_bt_method(PyObject *self, void *closure)
enum record_method method
PyObject_HEAD int reason_code
static PyObject * recpy_gap_reason_code(PyObject *self, void *closure)
int ptid_equal(const ptid_t &ptid1, const ptid_t &ptid2)
PyObject * recpy_bt_insn_sal(PyObject *self, void *closure)
PyObject * recpy_gap_new(int reason_code, const char *reason_string, Py_ssize_t number)
PyObject_HEAD ptid_t ptid
PyTypeObject recpy_insn_type
static PyObject * recpy_func_prev(PyObject *self, void *closure)
static PyObject * recpy_insn_sal(PyObject *self, void *closure)
PyObject * recpy_bt_insn_decoded(PyObject *self, void *closure)
PyObject * recpy_bt_insn_data(PyObject *self, void *closure)
static PyObject * recpy_format(PyObject *self, void *closure)
static PyObject * recpy_func_level(PyObject *self, void *closure)
PyObject * recpy_bt_end(PyObject *self, void *closure)
PyObject * recpy_bt_func_next(PyObject *self, void *closure)
PyObject * recpy_bt_function_call_history(PyObject *self, void *closure)
PyObject * gdbpy_stop_recording(PyObject *self, PyObject *args)
static PyObject * recpy_insn_size(PyObject *self, void *closure)
const char * reason_string
static PyObject * recpy_function_call_history(PyObject *self, void *closure)
static PyObject * recpy_element_number(PyObject *self, void *closure)