This is an example that shows the back and forth interaction that is possible between an strace aware gdbclient and the gdb remote protocol aware strace.
STRACE client Process 10442 attached in non-stop mode GDB client (gdb) continue Thread 2 "tstthreads1.x" hit Breakpoint 3, thread_worker_2 () at tstthreads1.c:88 88 int unknown_syscall = 123456789; (gdb) Thread 3 "tstthreads1.x" hit Breakpoint 2, thread_worker_1 () at tstthreads1.c:53 53 int unknown_syscall = 123456789; STRACE client rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0 mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7ffff6ffa000 brk(NULL) = 0x603000 brk(0x624000) = 0x624000 brk(NULL) = 0x624000 mprotect(0x7ffff6ffa000, 4096, PROT_NONE) = 0 clone( <unfinished ...> [pid 10455] set_robust_list(0x3d0f00, 140737345724400) = 10455 [pid 10455] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0 <unfinished ...> [pid 10442] <... clone resumed> child_stack=0x7ffff77f9ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7ffff77fa9d0, tls=0x7ffff77fa700, child_tidptr=0x7ffff77fa9d0) = 140737328943104 [pid 10442] mprotect(0x7ffff67f9000, 4096, PROT_NONE) = 0 [pid 10442] clone(child_stack=0x7ffff6ff8ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7ffff6ff99d0, tls=0x7ffff6ff9700, child_tidptr=0x7ffff6ff99d0) = 10456 GDB client (gdb) thread 2 93 FILE *f = fopen("/tmp/,tstthreads1-2.txt", "w"); STRACE client [pid 10442] set_robust_list(0x3d0f00, 140737337331696 <unfinished ...> [pid 10456] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fffee7f9000 [pid 10456] munmap(0x7fffee7f9000, 25194496) = 0 [pid 10456] munmap(0x7ffff4000000, 41914368) = 0 [pid 10456] mprotect(0x7ffff0000000, 135168, PROT_READ|PROT_WRITE) = 0 [pid 10456] open(0x400da5, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 GDB client (gdb) next 94 fprintf(f, "line one"); (gdb) next 95 fclose(f); (gdb) next STRACE client [pid 10456] fstat(3, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0 [pid 10456] write(3, "line one", 8) = 8 [pid 10456] close(3) = 0 GDB client (gdb) thr 3 66 chroot ("."); STRACE client [pid 10455] chroot(0x400da3) = -1 EPERM (Operation not permitted) GDB client (gdb) next 68 pipe (fd); (gdb) next STRACE client [pid 10455] pipe([3, 4]) = 0 ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel