1 # connect gdb to Valgrind gdbserver:
2 target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcleak
3 echo vgdb launched process attached\n
4 monitor vg.set vgdb-error 999999
10 # continue till each break and execute via gdb the leak search as done in the C code.
14 # fprintf(stderr, "expecting details 10 bytes reachable\n"); fflush(stderr); breakme();
16 monitor mc.leak_check any reachable full
18 # VALGRIND_DO_LEAK_CHECK;
20 # fprintf(stderr, "expecting to have NO details\n"); fflush(stderr);
22 monitor mc.leak_check increased reachable full
24 # VALGRIND_DO_ADDED_LEAK_CHECK;
28 # fprintf(stderr, "expecting details +10 bytes lost, +21 bytes reachable\n"); fflush(stderr); breakme();
30 monitor mc.leak_check increased reachable full
32 # VALGRIND_DO_ADDED_LEAK_CHECK;
34 # for (i = 0; i < 2; i ++)
35 # b32_33[i] = malloc (32+i);
36 # fprintf(stderr, "expecting details +65 bytes reachable\n"); fflush(stderr); breakme();
38 monitor mc.leak_check increased reachable full
40 # VALGRIND_DO_ADDED_LEAK_CHECK;
42 # fprintf(stderr, "expecting to have NO details\n"); fflush(stderr); breakme();
44 monitor mc.leak_check increased reachable full
46 # VALGRIND_DO_ADDED_LEAK_CHECK;
49 # fprintf(stderr, "expecting details +10 bytes reachable\n"); fflush(stderr); breakme();
51 monitor mc.leak_check increased reachable full
53 # VALGRIND_DO_ADDED_LEAK_CHECK;
56 # fprintf(stderr, "expecting details -10 bytes reachable, +10 bytes lost\n"); fflush(stderr); breakme();
58 monitor mc.leak_check changed reachable full
60 # VALGRIND_DO_CHANGED_LEAK_CHECK;
63 # fprintf(stderr, "expecting details -10 bytes lost, +10 bytes reachable\n"); fflush(stderr); breakme();
65 monitor mc.leak_check changed reachable full
67 # VALGRIND_DO_CHANGED_LEAK_CHECK;
70 # fprintf(stderr, "expecting details 32 (+32) bytes lost, 33 (-32) bytes reachable\n"); fflush(stderr); breakme();
72 monitor mc.leak_check changed reachable full
74 # VALGRIND_DO_CHANGED_LEAK_CHECK;