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