blob: 7aa423a70bbda7489d92ee0aa4aff7dd4a921ba1 [file] [log] [blame]
sewardj3b290482011-05-06 21:02:55 +00001# connect gdb to Valgrind gdbserver:
2target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcvabits
3monitor vg.set vgdb-error 999999
4#
5#
6# insert break:
7break breakme
8#
9# continue till //1break:
10continue
11#
12# up to main:
13up
14#
15# print local string variables:
16print main_name
17print undefined
18# save address of undefined
19set $0xundefined = &undefined
20#
21# Verif A-bits, V-bits, Get V-bits: A,V,G [0..9]
22eval "monitor mc.check_memory addressable 0x%x 10", $0xundefined
23eval "monitor mc.check_memory defined 0x%x 10", $0xundefined
24eval "monitor mc.get_vbits 0x%x 10", $0xundefined
25#
26# continue till //2break:
27continue
28#
29# A,V,G [0..9] after the undefinition of some bytes by executable:
30eval "monitor mc.check_memory addressable 0x%x 10", $0xundefined
31eval "monitor mc.check_memory defined 0x%x 10", $0xundefined
32eval "monitor mc.get_vbits 0x%x 10", $0xundefined
33#
34# Redefine [2..4]
35set $0xundefined_2 = (char*)$0xundefined + 2
36eval "monitor mc.make_memory defined 0x%x 3", $0xundefined_2
37# A,V,G
38eval "monitor mc.check_memory addressable 0x%x 10", $0xundefined
39eval "monitor mc.check_memory defined 0x%x 10", $0xundefined
40eval "monitor mc.get_vbits 0x%x 10", $0xundefined
41#
42# Undefine [2..5]
43eval "monitor mc.make_memory undefined 0x%x 4", $0xundefined_2
44# A,V,G [0..9]
45eval "monitor mc.check_memory addressable 0x%x 10", $0xundefined
46eval "monitor mc.check_memory defined 0x%x 10", $0xundefined
47eval "monitor mc.get_vbits 0x%x 10", $0xundefined
48#
49# noaccess [2..3]
50eval "monitor mc.make_memory noaccess 0x%x 2", $0xundefined_2
51# A,V,G [0..1]
52eval "monitor mc.check_memory addressable 0x%x 2", $0xundefined
53eval "monitor mc.check_memory defined 0x%x 2", $0xundefined
54eval "monitor mc.get_vbits 0x%x 2", $0xundefined
55# A,V,G [2..3]
56eval "monitor mc.check_memory addressable 0x%x 2", $0xundefined_2
57eval "monitor mc.check_memory defined 0x%x 2", $0xundefined_2
58eval "monitor mc.get_vbits 0x%x 2", $0xundefined_2
59# A,V,G [4..9]
60set $0xundefined_4 = (char*) $0xundefined_2 + 2
61eval "monitor mc.check_memory addressable 0x%x 6", $0xundefined_4
62eval "monitor mc.check_memory defined 0x%x 6", $0xundefined_4
63eval "monitor mc.get_vbits 0x%x 6", $0xundefined_4
64#
65# ifaddressabledefined undefined[0..9]
66eval "monitor mc.make_memory ifaddressabledefined 0x%x 10", $0xundefined
67# A,V,G
68eval "monitor mc.check_memory addressable 0x%x 10", $0xundefined
69eval "monitor mc.check_memory defined 0x%x 10", $0xundefined
70eval "monitor mc.get_vbits 0x%x 10", $0xundefined
71#
72monitor vg.kill
73quit