The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 1 | This shared library is used with LD_PRELOAD to wrap the Android runtime |
| 2 | when used with the desktop simulator. |
| 3 | |
| 4 | Because LD_PRELOAD is part of the environment when gdb and valgrind are |
| 5 | invoked, the wrapper can "see" activity from both of these (more so gdb |
| 6 | than valgrind). For this reason it needs to be very careful about which |
| 7 | "open" calls are intercepted. |
| 8 | |
| 9 | It's also important that none of the intercepted system or library calls |
| 10 | are invoked directly, or infinite recursion could result. |
| 11 | |
| 12 | Avoid creating dependencies on other libraries. |
| 13 | |
| 14 | |
| 15 | To debug wrapsim, set WRAPSIM_LOG to a log file before launching, e.g. |
| 16 | |
| 17 | % WRAPSIM_LOG=/tmp/wraplog.txt simulator |
| 18 | |
| 19 | For more verbose logging, you can enable the verbose forms of CALLTRACE |
| 20 | and CALLTRACEV in Intercept.c. |
| 21 | |