Files
ftmemsim-valgrind/memcheck/tests/recursive-merge.stderr.exp
Philippe Waroquiers 6fb1158a78 Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req.
In a big applications, some recursive algorithms have created
hundreds of thousands of stacktraces, taking a lot of memory.

Option --merge-recursive-frames=<number> tells Valgrind to
detect and merge (collapse) recursive calls when recording stack traces.
The value is changeable using the monitor command
'v.set merge-recursive-frames'.

Also, this provides a new client request: VALGRIND_MONITOR_COMMAND
allowing to execute a gdbsrv monitor command from the client
program.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13246
2013-01-20 17:11:58 +00:00

264 lines
11 KiB
Plaintext

test a
a at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test aa
aa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test aaa
aaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test aaaa
aaaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test abab
abab at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test abca
abca at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
test abcda
abcda at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_d (recursive-merge.c:34)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:56)
merge-recursive-frames value changed from 1 to 3
test a
a at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test aa
aa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test aaa
aaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test aaaa
aaaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test abab
abab at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test abca
abca at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
test abcda
abcda at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_d (recursive-merge.c:34)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:59)
merge-recursive-frames value changed from 3 to 2
test a
a at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test aa
aa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test aaa
aaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test aaaa
aaaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test abab
abab at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test abca
abca at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
test abcda
abcda at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_d (recursive-merge.c:34)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:62)
merge-recursive-frames value changed from 2 to 1
test a
a at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test aa
aa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test aaa
aaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test aaaa
aaaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test abab
abab at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test abca
abca at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
test abcda
abcda at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_d (recursive-merge.c:34)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:65)
merge-recursive-frames value changed from 1 to 0
test a
a at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test aa
aa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test aaa
aaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test aaaa
aaaa at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test abab
abab at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test abca
abca at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)
test abcda
abcda at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
by 0x........: stacktrace (recursive-merge.c:17)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: f_d (recursive-merge.c:34)
by 0x........: f_c (recursive-merge.c:31)
by 0x........: f_b (recursive-merge.c:28)
by 0x........: f_a (recursive-merge.c:25)
by 0x........: doit (recursive-merge.c:43)
by 0x........: main (recursive-merge.c:68)