2010-04-15 Stan Shebs <stan@codesourcery.com>

* frame.c: Include tracepoint.h.
	(get_current_frame): Allow a trace frame to be an alternate source
	of stack frame data.
	* tracepoint.c (tfind_1): Don't try to get current stack frame if
	it won't succeed.
This commit is contained in:
Stan Shebs 2010-04-16 01:12:07 +00:00
parent 47edb3fead
commit 2ce6d6bf7c
3 changed files with 31 additions and 10 deletions

View file

@ -43,6 +43,7 @@
#include "gdbthread.h"
#include "block.h"
#include "inline-frame.h"
#include "tracepoint.h"
static struct frame_info *get_prev_frame_1 (struct frame_info *this_frame);
static struct frame_info *get_prev_frame_raw (struct frame_info *this_frame);
@ -1144,12 +1145,16 @@ get_current_frame (void)
error (_("No stack."));
if (!target_has_memory)
error (_("No memory."));
if (ptid_equal (inferior_ptid, null_ptid))
error (_("No selected thread."));
if (is_exited (inferior_ptid))
error (_("Invalid selected thread."));
if (is_executing (inferior_ptid))
error (_("Target is executing."));
/* Traceframes are effectively a substitute for the live inferior. */
if (get_traceframe_number () < 0)
{
if (ptid_equal (inferior_ptid, null_ptid))
error (_("No selected thread."));
if (is_exited (inferior_ptid))
error (_("Invalid selected thread."));
if (is_executing (inferior_ptid))
error (_("Target is executing."));
}
if (current_frame == NULL)
{