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
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel