mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-11 05:55:48 +00:00
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
264 lines
11 KiB
Plaintext
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)
|