From e09ae149af4e97392a3ae7f8633c1bd18fe64e2d Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 29 Jul 2009 00:35:49 -0700 Subject: [PATCH] Statetrace: Make sure the current state is loaded to print the initial stack frame. The early call to child->step() was removed earlier because it confused the new differences-only protocol ARM sendState() was using. It's necessary that that gets called at least once before attempting to print the initial stack frame, though, because otherwise statetrace doesn't know what the stack pointer is. By putting the first call to child->step() in a common spot, both needs are met. --- util/statetrace/statetrace.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/statetrace/statetrace.cc b/util/statetrace/statetrace.cc index 2861bb29c..e2762ac2c 100644 --- a/util/statetrace/statetrace.cc +++ b/util/statetrace/statetrace.cc @@ -123,6 +123,7 @@ int main(int argc, char * argv[], char * envp[]) cerr << "Couldn't start target program" << endl; return 1; } + child->step(); if(printInitial) { child->outputStartState(cout); @@ -157,7 +158,6 @@ int main(int argc, char * argv[], char * envp[]) cerr << "Couldn't connect to server! " << strerror(errno) << endl; return 1; } - child->step(); while(child->isTracing()) { if(!child->sendState(sock)) -- 2.30.2