blob: 21c7d0d1c2d3a40a3aad40b9052a731ddb8de4eb [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
sewardj30b3eca2011-06-28 08:20:39 +00004monitor v.set vgdb-error 999999
sewardj3b290482011-05-06 21:02:55 +00005#
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]
dejanjbd33f032013-07-17 09:56:24 +000023eval "monitor check_memory addressable 0x%lx 10", $0xundefined
24eval "monitor check_memory defined 0x%lx 10", $0xundefined
25eval "monitor get_vbits 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000026#
27# continue till //2break:
28continue
29#
30# A,V,G [0..9] after the undefinition of some bytes by executable:
dejanjbd33f032013-07-17 09:56:24 +000031eval "monitor check_memory addressable 0x%lx 10", $0xundefined
32eval "monitor check_memory defined 0x%lx 10", $0xundefined
33eval "monitor get_vbits 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000034#
35# Redefine [2..4]
36set $0xundefined_2 = (char*)$0xundefined + 2
dejanjbd33f032013-07-17 09:56:24 +000037eval "monitor make_memory defined 0x%lx 3", $0xundefined_2
sewardj3b290482011-05-06 21:02:55 +000038# A,V,G
dejanjbd33f032013-07-17 09:56:24 +000039eval "monitor check_memory addressable 0x%lx 10", $0xundefined
40eval "monitor check_memory defined 0x%lx 10", $0xundefined
41eval "monitor get_vbits 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000042#
43# Undefine [2..5]
dejanjbd33f032013-07-17 09:56:24 +000044eval "monitor make_memory undefined 0x%lx 4", $0xundefined_2
sewardj3b290482011-05-06 21:02:55 +000045# A,V,G [0..9]
dejanjbd33f032013-07-17 09:56:24 +000046eval "monitor check_memory addressable 0x%lx 10", $0xundefined
47eval "monitor check_memory defined 0x%lx 10", $0xundefined
48eval "monitor get_vbits 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000049#
50# noaccess [2..3]
dejanjbd33f032013-07-17 09:56:24 +000051eval "monitor make_memory noaccess 0x%lx 2", $0xundefined_2
sewardj3b290482011-05-06 21:02:55 +000052# A,V,G [0..1]
dejanjbd33f032013-07-17 09:56:24 +000053eval "monitor check_memory addressable 0x%lx 2", $0xundefined
54eval "monitor check_memory defined 0x%lx 2", $0xundefined
55eval "monitor get_vbits 0x%lx 2", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000056# A,V,G [2..3]
dejanjbd33f032013-07-17 09:56:24 +000057eval "monitor check_memory addressable 0x%lx 2", $0xundefined_2
58eval "monitor check_memory defined 0x%lx 2", $0xundefined_2
59eval "monitor get_vbits 0x%lx 2", $0xundefined_2
sewardj3b290482011-05-06 21:02:55 +000060# A,V,G [4..9]
61set $0xundefined_4 = (char*) $0xundefined_2 + 2
dejanjbd33f032013-07-17 09:56:24 +000062eval "monitor check_memory addressable 0x%lx 6", $0xundefined_4
63eval "monitor check_memory defined 0x%lx 6", $0xundefined_4
64eval "monitor get_vbits 0x%lx 6", $0xundefined_4
sewardj3b290482011-05-06 21:02:55 +000065#
sewardj30b3eca2011-06-28 08:20:39 +000066# Definedifaddressable undefined[0..9]
dejanjbd33f032013-07-17 09:56:24 +000067eval "monitor make_memory Definedifaddressable 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000068# A,V,G
dejanjbd33f032013-07-17 09:56:24 +000069eval "monitor check_memory addressable 0x%lx 10", $0xundefined
70eval "monitor check_memory defined 0x%lx 10", $0xundefined
71eval "monitor get_vbits 0x%lx 10", $0xundefined
sewardj3b290482011-05-06 21:02:55 +000072#
sewardj30b3eca2011-06-28 08:20:39 +000073monitor v.kill
sewardj3b290482011-05-06 21:02:55 +000074quit