|
From: John R. <jr...@bi...> - 2010-07-29 17:24:39
|
>> In case somebody is really motivated, then example code for [reverting >> to native execution] can be found by searching for the string 'letgo' in >> http://bitwagon.com/valgrind+uml/valgrind-3.3.0-2007-12-27.patch.gz > And reversing that process would put you back into emulation mode? > > (Yes, that question is eliding a lot of hairy details. But if the > program is started under valgrind and valgrind let's it go back into > native mode, then switching back to valgrind should /just/ [!] be a > question of updating valgrind's registers and hitting the big green > "GO" button, right?) The changes made during native execution (for example: STORE to memory, malloc/free, state of subroutine return stack, ...) won't be noticed by valgrind[memcheck], so the results after changing back to "supervised" execution most probably will be a total mess. However, note that things such as catching signals and executing system calls already do the dance of switching back and forth between supervised and native execution. They just do it very carefully under highly-controlled conditions with precisely-defined goals in a stringently-restricted environment. -- |