• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <dlfcn.h>
2 #include <unistd.h>
3 #include <stdlib.h>
4 #include <stdio.h>
5 
6 int setup_is_complete = 0;
7 
main(int argc,const char ** argv)8 int main(int argc, const char** argv)
9 {
10 
11     void *handle = dlopen ("com.apple.sbd.xpc/com.apple.sbd", RTLD_NOW);
12     if (handle)
13     {
14         if (dlsym(handle, "foo"))
15         {
16             system ("/bin/rm -rf com.apple.sbd.xpc com.apple.sbd.xpc.dSYM");
17 
18             FILE *fp = fopen (argv[1], "w");
19             fclose (fp);
20             setup_is_complete = 1;
21 
22             // At this point we want lldb to attach to the process.  If lldb attaches
23             // before we've removed the dlopen'ed bundle, lldb will find the bundle
24             // at its actual filepath and not have to do any tricky work, invalidating
25             // the test.
26 
27             for (int loop_limiter = 0; loop_limiter < 100; loop_limiter++)
28                 sleep (1);
29         }
30     }
31     return 0;
32 }
33