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