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:
Thiago Jung Bauermann 2009-03-30 19:54:33 +00:00
parent d460e92e41
commit f8f6f20b6e
12 changed files with 801 additions and 21 deletions

View file

@ -22,4 +22,9 @@
void select_frame_command (char *level_exp, int from_tty);
/* Attempt to obtain the FUNNAME and FUNLANG of the function corresponding
to FRAME. */
void find_frame_funname (struct frame_info *frame, char **funname,
enum language *funlang);
#endif /* #ifndef STACK_H */