![]() Developed by Michal Zalewski <lcamtuf@coredump.cx> |
Program: ./test |
Date: Thu Feb 21 15:27:23 2002 |
Buffer / function interaction:
Buffer 0:
0000004 L malloc (100) = 8049758
0000006 L bzero (8049758, 100) = 0
0000010 in innafunkcja:
0000013 L strcpy (8049758, 8048614 "this is just a test") = 8049758
0000021 in printf:
0000038 L free (8049758) =
Buffer 1:
0000026 SYS fstat (1, bffff150 [301:17c38c #1 020620 0.5 0B]) = 0
Buffer 2:
0000015 L strcpy (8049758, 8048614 "this is just a test") = 8049758
0000020 in printf:
Buffer 3:
0000035 SYS write (1, 40018000 "This is a result: this is just "..., 38) = 38
Buffer 4:
0000043 in main:
File descriptor 1:
0000025 SYS fstat (1, bffff150 [301:17c38c #1 020620 0.5 0B]) = 0
0000031 SYS ioctl (1, TCGETS, 0xbffff120) = 0
0000034 SYS write (1, 40018000 "This is a result: this is just "..., 38) = 38
To get help, please visit Fenris project homepage and read the documentation.
[ flow | calls | params | buffers | I/O | raw ]symbol description
symbol description
. buffer / fd
: used buf / fd
r read / accessed
W written
X read and written
* discarded
S source
D destination
+ fd I/O
O fd opened
# fd cloned
* fd discarded
line function buffers descriptors
.- main
5 | malloc r.... ..
8 | bzero W.... ..
8 | .- innafunkcja
17 | | strcpy D-S
19 | `- innafunkcja r....
19 | .- printf
24 | | fstat64 :.... ..
28 | | fstat :W... .+
30 | | mmap ::... ..
32 | | ioctl ::... .+
36 | | write ::.r. .+
37 | `- printf r:r:.
41 | free *:::. ..
46 `- main .:::W
Function invocations:
[ flow | calls | params | buffers | I/O | raw ]0000000 main (...)
0000003 4103:00 L malloc (100) = 8049758
0000004 4103:00 \ new authoritative buffer candidate: 8049758:100 (_end)
0000005 4103:00 L bzero (8049758, 100) = 0
0000006 4103:00 + 8049758 = 8049758:100
Function call summary:
[ flow | calls | params | buffers | I/O | raw ]
Function innafunkcja:
0000008 4103:00 local innafunkcja (g/8049758)
Function printf:
0000019 4103:00 U printf (g/8048628 "This is a result: %s?", g/8049758 "this is just a test")
Buffer history:
[ flow | calls | params | buffers | I/O | raw ]
0000004 4103:00 \ new authoritative buffer candidate: 8049758:100 (_end)
0000006 4103:00 + 8049758 = 8049758:100
0000010 4103:00 + 8049758 = 8049758:100
0000013 4103:01 + 8049758 = 8049758:100
0000021 4103:00 + 8049758 = 8049758:100
0000038 4103:00 + 8049758 = 8049758:100
0000026 4103:01 \ new buffer candidate: bffff150:64
0000015 4103:01 \ new buffer candidate: 8048614:20 (_IO_stdin_used)
0000020 4103:00 \ merge [SB]: 8048628:22 8048614:20 (first seen in L innafunkcja:strcpy) -> 8048614:42
0000035 4103:01 \ new buffer candidate: 40018000:38
0000043 4103:-- * WRITE buffer bffffa14
File descriptor history:
[ flow | calls | params | buffers | I/O | raw ]
0000025 + fd 1: "/dev/tty6", origin unknown
0000031 + fd 1: "/dev/tty6", origin unknown
0000034 + fd 1: "/dev/tty6", origin unknown
Trace output as-is:
[ flow | calls | params | buffers | I/O | raw ]0000001 <<-- fenris [STD] 0.02b -->>
0000002 +++ Executing './test' (pid 4103, dynamic) +++
0000003 4103:00 L malloc (100) = 8049758
0000004 4103:00 \ new authoritative buffer candidate: 8049758:100 (_end)
0000005 4103:00 L bzero (8049758, 100) = 0
0000006 4103:00 + 8049758 = 8049758:100
Developed by Michal Zalewski.