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.
cerr << "Couldn't start target program" << endl;
return 1;
}
+ child->step();
if(printInitial)
{
child->outputStartState(cout);
cerr << "Couldn't connect to server! " << strerror(errno) << endl;
return 1;
}
- child->step();
while(child->isTracing())
{
if(!child->sendState(sock))