mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-23 18:26:47 +08:00
gdb/
Expose frames to Python. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o. (SUBDIR_PYTHON_SRCS): Add python-frame.c. (python-frame.o): New target. * python/python-frame.c: New file. * python/python-internal.h (gdbpy_frames, gdbpy_newest_frame, gdbpy_frame_stop_reason_string, gdbpy_selected_frame, gdbpy_initialize_frames): New prototypes. * python/python.c (_initialize_python): Call gdbpy_initialize_frames. (GdbMethods): Add `selected_frame' and `frame_stop_reason_string' entries. * stack.c (find_frame_funname): New function, factored out of print_frame. (print_frame): Call find_frame_funname. * stack.h (find_frame_funname): Add prototype. gdb/doc/ * gdb.texinfo (Frames in Python): New node. (Python API): Update. gdb/testsuite/ * gdb.python/python-frame.c: New file. * gdb.python/python-frame.exp: New file.
This commit is contained in:
@ -411,6 +411,7 @@ Enables or disables printing of Python stack traces."),
|
||||
PyModule_AddStringConstant (gdb_module, "TARGET_CONFIG", (char*) target_name);
|
||||
|
||||
gdbpy_initialize_values ();
|
||||
gdbpy_initialize_frames ();
|
||||
gdbpy_initialize_commands ();
|
||||
gdbpy_initialize_functions ();
|
||||
|
||||
@ -464,6 +465,13 @@ static PyMethodDef GdbMethods[] =
|
||||
{ "get_parameter", get_parameter, METH_VARARGS,
|
||||
"Return a gdb parameter's value" },
|
||||
|
||||
{ "selected_frame", gdbpy_selected_frame, METH_NOARGS,
|
||||
"selected_frame () -> gdb.Frame.\n\
|
||||
Return the selected frame object." },
|
||||
{ "frame_stop_reason_string", gdbpy_frame_stop_reason_string, METH_VARARGS,
|
||||
"stop_reason_string (Integer) -> String.\n\
|
||||
Return a string explaining unwind stop reason." },
|
||||
|
||||
{ "write", gdbpy_write, METH_VARARGS,
|
||||
"Write a string using gdb's filtered stream." },
|
||||
{ "flush", gdbpy_flush, METH_NOARGS,
|
||||
|
Reference in New Issue
Block a user