Screen Dumps
Consider simple program:
void bar(){ sleep(1); } void foo(){ sleep(1); bar(); } int main() { for (;;) foo(); }
- version 0.0.3, on FreeBSD 4.6-PRERELEASE.
Dumping system calls with fuction stack dump
yoda:p2:$ xtrace -S -p 76888 SIGNAL 0 SIGNAL 17 = 0 280c6724 [_nanosleep + 8](1,2804bbf3,28063000,0) 804855e [foo + 16](3,4,0,28060100) 80485a0 [main + 14](1,bfbff70c,bfbff714,293) 80484a1 [_start + 7d](bfbff810,0,bfbff818,bfbff82b) nanosleep([1 s, 0 ms],0xbfbff648) = 0 280c6724 [_nanosleep + 8](1,bfbff812,80485f8,0) 8048584 [bar + 10](804860b,2804bbf3,28063000,0) 804856e [foo + 26](3,4,0,28060100) 80485a0 [main + 14](1,bfbff70c,bfbff714,293) 80484a1 [_start + 7d](bfbff810,0,bfbff818,bfbff82b)
- version 0.0.3, on FreeBSD 4.6-PRERELEASE.
Tracing calls for functions `foo' and `bar'
yoda:p2:$ xtrace -f foo,bar -p 76888 SIGNAL 0 SIGNAL 17 = 0 [bar](0x804860b,0x2804bbf3,0x28063000,0) nanosleep([1 s, 0 ms],0xbfbff648) = 0 [foo](0x3,0x4,0,0x28060100) nanosleep([1 s, 0 ms],0xbfbff668) = 0 [bar](0x804860b,0x2804bbf3,0x28063000,0)