1# connect gdb to Valgrind gdbserver: 2target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcvabits 3echo vgdb launched process attached\n 4monitor v.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 check_memory addressable 0x%lx 10", $0xundefined 24eval "monitor check_memory defined 0x%lx 10", $0xundefined 25eval "monitor get_vbits 0x%lx 10", $0xundefined 26eval "monitor xb 0x%lx 10", $0xundefined 27# 28# continue till //2break: 29continue 30# 31# A,V,G [0..9] after the undefinition of some bytes by executable: 32eval "monitor check_memory addressable 0x%lx 10", $0xundefined 33eval "monitor check_memory defined 0x%lx 10", $0xundefined 34eval "monitor get_vbits 0x%lx 10", $0xundefined 35# 36# Redefine [2..4] 37set $0xundefined_2 = (char*)$0xundefined + 2 38eval "monitor make_memory defined 0x%lx 3", $0xundefined_2 39# A,V,G 40eval "monitor check_memory addressable 0x%lx 10", $0xundefined 41eval "monitor check_memory defined 0x%lx 10", $0xundefined 42eval "monitor get_vbits 0x%lx 10", $0xundefined 43# 44# Undefine [2..5] 45eval "monitor make_memory undefined 0x%lx 4", $0xundefined_2 46# A,V,G [0..9] 47eval "monitor check_memory addressable 0x%lx 10", $0xundefined 48eval "monitor check_memory defined 0x%lx 10", $0xundefined 49eval "monitor get_vbits 0x%lx 10", $0xundefined 50# 51# noaccess [2..3] 52eval "monitor make_memory noaccess 0x%lx 2", $0xundefined_2 53# A,V,G [0..1] 54eval "monitor check_memory addressable 0x%lx 2", $0xundefined 55eval "monitor check_memory defined 0x%lx 2", $0xundefined 56eval "monitor get_vbits 0x%lx 2", $0xundefined 57# A,V,G [2..3] 58eval "monitor check_memory addressable 0x%lx 2", $0xundefined_2 59eval "monitor check_memory defined 0x%lx 2", $0xundefined_2 60eval "monitor get_vbits 0x%lx 2", $0xundefined_2 61# A,V,G [4..9] 62set $0xundefined_4 = (char*) $0xundefined_2 + 2 63eval "monitor check_memory addressable 0x%lx 6", $0xundefined_4 64eval "monitor check_memory defined 0x%lx 6", $0xundefined_4 65eval "monitor get_vbits 0x%lx 6", $0xundefined_4 66# 67# Definedifaddressable undefined[0..9] 68eval "monitor make_memory Definedifaddressable 0x%lx 10", $0xundefined 69# A,V,G 70eval "monitor check_memory addressable 0x%lx 10", $0xundefined 71eval "monitor check_memory defined 0x%lx 10", $0xundefined 72eval "monitor get_vbits 0x%lx 10", $0xundefined 73# 74monitor v.kill 75quit 76