coregrind/m_gdbserver/remote-utils.c (prepare_resume_reply): Use memcpy
[valgrind.git] / gdbserver_tests / mcleak.stdinB.gdb
blob0862a85414922b76e15b94c1cc27084ba9f53fe0
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 v.set vgdb-error 999999
7 # insert break:
8 break breakme
10 # continue till each break and execute via gdb the leak search as done in the C code.
11 continue
14 #   fprintf(stderr, "expecting details 10 bytes reachable\n"); fflush(stderr); breakme();
16 monitor leak_check full reachable any
17 continue
18 #   VALGRIND_DO_LEAK_CHECK;
20 #   fprintf(stderr, "expecting to have NO details\n"); fflush(stderr);
22 monitor leak_check full reachable increased
23 continue
24 #   VALGRIND_DO_ADDED_LEAK_CHECK;
26 #   b10--; // lose b10
27 #   b21 = malloc (21);
28 #   fprintf(stderr, "expecting details +10 bytes lost, +21 bytes reachable\n"); fflush(stderr); breakme();
30 monitor leak_check full reachable increased
31 continue
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 leak_check full reachable increased
39 continue
40 #   VALGRIND_DO_ADDED_LEAK_CHECK;
42 #   fprintf(stderr, "expecting to have NO details\n"); fflush(stderr); breakme();
44 monitor leak_check full reachable increased
45 continue
46 #   VALGRIND_DO_ADDED_LEAK_CHECK;
48 #   b10++;
49 #   fprintf(stderr, "expecting details +10 bytes reachable\n"); fflush(stderr); breakme();
51 monitor leak_check full reachable increased
52 continue
53 #   VALGRIND_DO_ADDED_LEAK_CHECK;
55 #   b10--;
56 #   fprintf(stderr, "expecting details -10 bytes reachable, +10 bytes lost\n"); fflush(stderr); breakme();
58 monitor leak_check full reachable changed
59 continue
60 #   VALGRIND_DO_CHANGED_LEAK_CHECK;
62 #   b10++;
63 #   fprintf(stderr, "expecting details -10 bytes lost, +10 bytes reachable\n"); fflush(stderr); breakme();
65 monitor leak_check full reachable changed
66 continue
67 #   VALGRIND_DO_CHANGED_LEAK_CHECK;
69 #   b32_33[0]--;
70 #   fprintf(stderr, "expecting details 32 (+32) bytes lost, 33 (-32) bytes reachable\n"); fflush(stderr); breakme();
72 monitor leak_check full reachable changed
73 continue
74 #   b42_43[0]--;
75 #   fprintf(stderr, "expecting details 42 (+42) bytes lost, 43 (+43) bytes reachable\n"); fflush(stderr); breakme();
77 monitor leak_check full reachable new
78 continue
79 #   b42_43[1]--;
80 #   fprintf(stderr, "expecting to have NO details\n"); fflush(stderr); breakme();
81 monitor leak_check full reachable new
82 # output all leak records:
83 monitor leak_check full reachable any unlimited
84 # output the 2 biggest leak records:
85 monitor leak_check full reachable any limited 2
86 #output the biggest leak record:
87 monitor leak_check full reachable any limited 1
88 # output the biggest definitely leaked record:
89 monitor leak_check full definiteleak any limited 1
90 continue
91 #   VALGRIND_DO_CHANGED_LEAK_CHECK;
93 quit