diff --git a/test/db/cmd/0000 b/test/db/cmd/0000 index 9f6bade66f..1eebe1867b 100644 --- a/test/db/cmd/0000 +++ b/test/db/cmd/0000 @@ -1,12 +1,12 @@ NAME=test va mapping FILE=malloc://0x4000 -BROKEN=1 CMDS=<(unsigned long const&, unsigned long const&) +0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&) +0x00002064 0 std::__ioinit +0x00001dee 0 imp.std::string::size() const +0x00001df4 0 imp.std::string::operator[](unsigned long) const +0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&)) +0x00001e00 0 imp.std::ios_base::Init::Init() +0x00001e06 0 imp.std::ios_base::Init::~Init() +0x00001e12 0 imp.std::basic_ostream>& std::operator<<>(std::basic_ostream>&, char const*) +--- +0x00001d9a 0 unsigned long const& std::min(unsigned long const&, unsigned long const&) +0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&) +0x00002064 0 std::__ioinit +0x00001dee 0 imp.std::string::size() const +0x00001df4 0 imp.std::string::operator[](unsigned long) const +0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&)) +0x00001e00 0 imp.std::ios_base::Init::Init() +0x00001e06 0 imp.std::ios_base::Init::~Init() +0x00001e12 0 imp.std::ostream& std::operator<<>(std::ostream&, char const*) +--- +0x00001d9a 0 __ZSt3minImERKT_S2_S2_ +0x00001ba0 0 __Z41__static_initialization_and_destruction_0ii +0x00001c4e 0 __ZStL17__verify_groupingPKcmRKSs +0x00002064 0 __ZStL8__ioinit +0x00001dee 0 imp._ZNKSs4sizeEv +0x00001df4 0 imp._ZNKSsixEm +0x00001dfa 0 imp._ZNSolsEPFRSoS_E +0x00001e00 0 imp._ZNSt8ios_base4InitC1Ev +0x00001e06 0 imp._ZNSt8ios_base4InitD1Ev +0x00001e12 0 imp._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc +EOF +RUN + +NAME=demangle c++ but simplified before the session. +FILE=bins/mach0/hellocxx-osx-i386 +ARGS=-e bin.demangle.flags=simplify +CMDS=< String EOF RUN - -NAME=demangle c++ but simplified in session. -FILE=bins/mach0/hellocxx-osx-i386 -CMDS=<(unsigned long const&, unsigned long const&) -0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&) -0x00002064 0 std::__ioinit -0x00001dee 0 imp.std::string::size() const -0x00001df4 0 imp.std::string::operator[](unsigned long) const -0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&)) -0x00001e00 0 imp.std::ios_base::Init::Init() -0x00001e06 0 imp.std::ios_base::Init::~Init() -0x00001e12 0 imp.std::basic_ostream>& std::operator<<>(std::basic_ostream>&, char const*) -==================== -0x00001d9a 0 unsigned long const& std::min(unsigned long const&, unsigned long const&) -0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&) -0x00002064 0 std::__ioinit -0x00001dee 0 imp.std::string::size() const -0x00001df4 0 imp.std::string::operator[](unsigned long) const -0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&)) -0x00001e00 0 imp.std::ios_base::Init::Init() -0x00001e06 0 imp.std::ios_base::Init::~Init() -0x00001e12 0 imp.std::ostream& std::operator<<>(std::ostream&, char const*) -==================== -0x00001d9a 0 __ZSt3minImERKT_S2_S2_ -0x00001ba0 0 __Z41__static_initialization_and_destruction_0ii -0x00001c4e 0 __ZStL17__verify_groupingPKcmRKSs -0x00002064 0 __ZStL8__ioinit -0x00001dee 0 imp._ZNKSs4sizeEv -0x00001df4 0 imp._ZNKSsixEm -0x00001dfa 0 imp._ZNSolsEPFRSoS_E -0x00001e00 0 imp._ZNSt8ios_base4InitC1Ev -0x00001e06 0 imp._ZNSt8ios_base4InitD1Ev -0x00001e12 0 imp._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc -EOF -RUN - -NAME=demangle c++ but simplified before the session. -FILE=bins/mach0/hellocxx-osx-i386 -ARGS=-e bin.demangle.flags=simplify -CMDS=<invoke([Ljava/lang/Object;)Ljava/lang/Object;, (II)Ljava/lang/Object; -move-result-object v1 -invoke-polymorphic {v0, v1, v2}, Ljava/lang/invoke/MethodHandle;->invoke([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;I)Ljava/lang/Object; -move-result-object v0 -return-object v0 -EOF -RUN - -NAME=DEX dex38.dex invoke-custom -FILE=bins/dex/dex38.dex -CMDS=pi 3 @ 0x00112c -EXPECT=<(String) 0x1000001c0 1 Hello sp void main(String[]) 0x1000001e8 2 Hello p void say() -EOF -RUN - -NAME=DEX Hello.dex single class (icf & icm LHello) -FILE=bins/dex/Hello.dex -CMDS=<(String) 0x1000001c0 1 Hello sp void main(String[]) 0x1000001e8 2 Hello p void say() -EOF -RUN - -NAME=DEX Hello.dex classes quiet (icq command) -FILE=bins/dex/Hello.dex -CMDS=icq -EXPECT=<' + type : '(Ljava/lang/String;)V' + access : 0x10001 (PUBLIC CONSTRUCTOR) + method_idx : 0 + code : (available) + #1 : (in LHello;) + name : 'main' + type : '([Ljava/lang/String;)V' + access : 0x0009 (PUBLIC STATIC) + method_idx : 1 + code : (available) + Virtual methods - + #0 : (in LHello;) + name : 'say' + type : '()V' + access : 0x0001 (PUBLIC) + method_idx : 2 + code : (available) +--- +Class #0 - + Class descriptor : 'LHello;' + Access flags : 0x0001 (PUBLIC) + Superclass : 'Ljava/lang/Object;' + Interfaces - + Static fields - + Instance fields - + Direct methods - + #0 : (in LHello;) + name : '' + type : '(Ljava/lang/String;)V' + access : 0x10001 (PUBLIC CONSTRUCTOR) + method_idx : 0 + code : (available) + #1 : (in LHello;) + name : 'main' + type : '([Ljava/lang/String;)V' + access : 0x0009 (PUBLIC STATIC) + method_idx : 1 + code : (available) + Virtual methods - + #0 : (in LHello;) + name : 'say' + type : '()V' + access : 0x0001 (PUBLIC) + method_idx : 2 + code : (available) EOF RUN -NAME=DEX HelloWorld.dex symbols, fields and statics (isq command) +NAME=Checking file size +FILE=bins/dex/HelloSlack.dex +CMDS=<invoke([Ljava/lang/Object;)Ljava/lang/Object;, (II)Ljava/lang/Object; +move-result-object v1 +invoke-polymorphic {v0, v1, v2}, Ljava/lang/invoke/MethodHandle;->invoke([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;I)Ljava/lang/Object; +move-result-object v0 +return-object v0 +--- +invoke-custom {v0, v1}, call_site+0 +move-result-object v0 +return-object v0 +EOF +RUN + +NAME=DEX HelloWorld.dex FILE=bins/dex/HelloWorld.dex -CMDS=isq +CMDS=<() 0x800000000a 2 java.lang.StringBuilder imp.StringBuilder append(String) 0x800000000c 2 java.lang.StringBuilder imp.String toString() -EOF -RUN - -NAME=DEX HelloWorld.dex flags (fl command) -FILE=bins/dex/HelloWorld.dex -CMDS=fl -EXPECT=<localVar I +sput v0, LHello;->localVar2 I +sget-object v0, Ljava/lang/System;->out Ljava/io/PrintStream; +invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V +invoke-virtual {v0, v1}, LHello;->foo(I)V +new-instance v0, LHello; +new-instance v1, Ljava/lang/StringBuilder; +invoke-direct {v1}, Ljava/lang/StringBuilder;->()V EOF RUN -NAME=DEX HelloWorld.dex imports (ii command) +NAME=DEX HelloWorld.dex imports ARGS=-e bin.demangle.flags=all FILE=bins/dex/HelloWorld.dex CMDS=ii @@ -461,47 +549,12 @@ nth vaddr bind type lib name EOF RUN -NAME=DEX HelloWorld.dex exports (iE command) -FILE=bins/dex/HelloWorld.dex -CMDS=iE -EXPECT=<localVar I -sput v0, LHello;->localVar2 I -sget-object v0, Ljava/lang/System;->out Ljava/io/PrintStream; -invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V -invoke-virtual {v0, v1}, LHello;->foo(I)V -new-instance v0, LHello; -new-instance v1, Ljava/lang/StringBuilder; -invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -EOF -RUN - NAME=DEX HelloWorld.dex debug info BROKEN=1 FILE=bins/dex/HelloWorld.dex -CMDS=e io.va=0; e asm.bytes=1; pd 1 @0x00000290|grep Hello.java; pd 1 @0x000002f4|grep World.java; pd 1 @0x00000318|grep World.java; -EXPECT=<out Ljava/io/PrintStream; ; Hello.java:9 ; 0x180 - 0x000002f4 701008000100 invoke-direct {v1}, Ljava/lang/Object.()V ; 0x8 ; World.java:5 - 0x00000318 62000400 sget-object v0, Ljava/lang/System;->out Ljava/io/PrintStream; ; World.java:11 ; 0x180 -EOF -RUN - -NAME=DEX HelloWorld.dex debug info CL -BROKEN=1 -FILE=bins/dex/HelloWorld.dex CMDS=<out Ljava/io/PrintStream; ; Hello.java:9 ; 0x180 + 0x000002f4 701008000100 invoke-direct {v1}, Ljava/lang/Object.()V ; 0x8 ; World.java:5 + 0x00000318 62000400 sget-object v0, Ljava/lang/System;->out Ljava/io/PrintStream; ; World.java:11 ; 0x180 +-- 0x00000238 Hello.java 4 0x0000023b Hello.java 5 0x0000023e Hello.java 6 @@ -538,166 +595,358 @@ EOF RUN NAME=DEX HelloWorld.dex dexdump -BROKEN=1 FILE=bins/dex/HelloWorld.dex -CMDS=iHH +CMDS=iH EXPECT=<' - type : '()V' - access : 0x10001 (PUBLIC CONSTRUCTOR) - code - - registers : 2 - ins : 1 - outs : 1 - insns size : 10 16-bit code units - catches : (none) - positions : - 0x0000 line=4 - 0x0003 line=5 - 0x0006 line=6 - 0x0009 line=7 - locals : - 0x0000 - 0x000a reg=1 this LHello; - #1 : (in LHello;) - name : 'main' - type : '([Ljava/lang/String;)V' - access : 0x0009 (PUBLIC STATIC) - code - - registers : 3 - ins : 1 - outs : 2 - insns size : 17 16-bit code units - catches : (none) - positions : - 0x0000 line=14 - 0x0007 line=15 - 0x000c line=16 - 0x0010 line=17 - locals : - Virtual methods - - #0 : (in LHello;) - name : 'foo' - type : '(I)V' - access : 0x0001 (PUBLIC) - code - - registers : 5 - ins : 2 - outs : 2 - insns size : 42 16-bit code units - catches : (none) - positions : - 0x0000 line=9 - 0x0021 line=10 - 0x0029 line=11 - locals : - 0x0000 - 0x002a reg=3 this LHello; - source_file_idx : 2 (Hello.java) - -Class #1 - - Class descriptor : 'LWorld;' - Access flags : 0x0001 (PUBLIC) - Superclass : 'Ljava/lang/Object;' - Interfaces - - Static fields - - Instance fields - - #0 : (in LWorld;) - name : 'worldVar' - type : 'I' - access : 0x0000 () - #1 : (in LWorld;) - name : 'worldVar2' - type : 'I' - access : 0x0000 () - Direct methods - - #0 : (in LWorld;) - name : '' - type : '()V' - access : 0x10001 (PUBLIC CONSTRUCTOR) - code - - registers : 2 - ins : 1 - outs : 1 - insns size : 10 16-bit code units - catches : (none) - positions : - 0x0000 line=5 - 0x0003 line=6 - 0x0006 line=7 - 0x0009 line=8 - locals : - 0x0000 - 0x000a reg=1 this LWorld; - Virtual methods - - #0 : (in LWorld;) - name : 'foo' - type : '(I)V' - access : 0x0001 (PUBLIC) - code - - registers : 5 - ins : 2 - outs : 2 - insns size : 34 16-bit code units - catches : (none) - positions : - 0x0000 line=11 - 0x0021 line=12 - locals : - 0x0000 - 0x0022 reg=3 this LWorld; - source_file_idx : 17 (World.java) +dex: + identity: + header_offset: 0x0 + magic: "64 65 78 0a |dex. |" + version: "30 33 35 00 |035. |" + checksum: 420132889 + checksum_offset: 0x8 + signature: | + 86 db fd cb 23 ec 21 fe 5f 34 fb d0 c6 18 35 1b |....#.!._4....5.| + 46 ef 78 69 |F.xi | + signature_offset: 0xc + file_info: + file_size: 1460 + header_size: 112 + endian_tag: 0x12345678 + offsets_and_sizes: + link_size: 0 + link_offset: 0x0 + map_offset: 0x514 + string_ids_size: 31 + string_ids_offset: 0x70 + type_ids_size: 11 + type_ids_offset: 0xec + proto_ids_size: 6 + proto_ids_offset: 0x118 + field_ids_size: 5 + field_ids_offset: 0x160 + method_ids_size: 12 + method_ids_offset: 0x188 + class_defs_size: 2 + class_defs_offset: 0x1e8 + data_size: 908 + data_offset: 0x228 + strings_detail: + - size: 6 + offset: 0x372 + - size: 6 + offset: 0x37a + - size: 10 + offset: 0x382 + - size: 1 + offset: 0x38e + - size: 1 + offset: 0x391 + - size: 7 + offset: 0x394 + - size: 2 + offset: 0x39d + - size: 7 + offset: 0x3a1 + - size: 21 + offset: 0x3aa + - size: 19 + offset: 0x3c1 + - size: 18 + offset: 0x3d6 + - size: 18 + offset: 0x3ea + - size: 25 + offset: 0x3fe + - size: 18 + offset: 0x419 + - size: 1 + offset: 0x42d + - size: 2 + offset: 0x430 + - size: 2 + offset: 0x434 + - size: 10 + offset: 0x438 + - size: 19 + offset: 0x444 + - size: 6 + offset: 0x459 + - size: 3 + offset: 0x461 + - size: 6 + offset: 0x466 + - size: 8 + offset: 0x46e + - size: 9 + offset: 0x478 + - size: 4 + offset: 0x483 + - size: 3 + offset: 0x489 + - size: 7 + offset: 0x48e + - size: 8 + offset: 0x497 + - size: 8 + offset: 0x4a1 + - size: 8 + offset: 0x4ab + - size: 9 + offset: 0x4b5 + proto_ids_detail: + - shorty_idx: 4 + return_type_idx: 6 + type_list_size: 0 + offset: 0x118 + - shorty_idx: 6 + return_type_idx: 7 + type_list_size: 1 + offset: 0x124 + type_list: + - 6 + - shorty_idx: 14 + return_type_idx: 9 + type_list_size: 0 + offset: 0x130 + - shorty_idx: 15 + return_type_idx: 9 + type_list_size: 1 + offset: 0x13c + type_list: + - 0 + - shorty_idx: 16 + return_type_idx: 9 + type_list_size: 1 + offset: 0x148 + type_list: + - 6 + - shorty_idx: 16 + return_type_idx: 9 + type_list_size: 1 + offset: 0x154 + type_list: + - 10 + field_ids_detail: + - class_idx: 1 + type_idx: 0 + name_idx: 22 + offset: 0x160 + - class_idx: 1 + type_idx: 0 + name_idx: 23 + offset: 0x168 + - class_idx: 2 + type_idx: 0 + name_idx: 29 + offset: 0x170 + - class_idx: 2 + type_idx: 0 + name_idx: 30 + offset: 0x178 + - class_idx: 8 + type_idx: 3 + name_idx: 25 + offset: 0x180 + method_ids_detail: + - class_idx: 1 + proto_idx: 2 + name_idx: 0 + offset: 0x188 + code_offset: 0x238 + code_size: 20 + - class_idx: 1 + proto_idx: 3 + name_idx: 20 + offset: 0x190 + code_offset: 0x290 + code_size: 84 + - class_idx: 1 + proto_idx: 5 + name_idx: 24 + offset: 0x198 + code_offset: 0x25c + code_size: 34 + - class_idx: 2 + proto_idx: 2 + name_idx: 0 + offset: 0x1a0 + code_offset: 0x2f4 + code_size: 20 + - class_idx: 2 + proto_idx: 3 + name_idx: 20 + offset: 0x1a8 + code_offset: 0x318 + code_size: 68 + - class_idx: 3 + proto_idx: 4 + name_idx: 26 + offset: 0x1b0 + code_offset: 0x8000000000 + code_size: 2 + - class_idx: 4 + proto_idx: 3 + name_idx: 0 + offset: 0x1b8 + code_offset: 0x8000000002 + code_size: 2 + - class_idx: 4 + proto_idx: 0 + name_idx: 27 + offset: 0x1c0 + code_offset: 0x8000000004 + code_size: 2 + - class_idx: 5 + proto_idx: 2 + name_idx: 0 + offset: 0x1c8 + code_offset: 0x8000000006 + code_size: 2 + - class_idx: 7 + proto_idx: 2 + name_idx: 0 + offset: 0x1d0 + code_offset: 0x8000000008 + code_size: 2 + - class_idx: 7 + proto_idx: 1 + name_idx: 19 + offset: 0x1d8 + code_offset: 0x800000000a + code_size: 2 + - class_idx: 7 + proto_idx: 0 + name_idx: 27 + offset: 0x1e0 + code_offset: 0x800000000c + code_size: 2 + class_defs_detail: + - class_idx: 1 + access_flags: 1 + superclass_idx: 5 + interfaces_offset: 0x0 + source_file_idx: 2 + annotations_offset: 0x0 + class_data_offset: 0x4ec + static_values_offset: 0x0 + offset: 0x1e8 + static_fields: + - offset: 0x4f0 + field_idx: 1 + access_flags: 8 + instance_fields: + - offset: 0x4f2 + field_idx: 0 + access_flags: 0 + direct_methods: + - offset: 0x4f4 + method_idx: 0 + access_flags: 65537 + registers_size: 2 + ins_size: 1 + outs_size: 1 + tries_size: 0 + debug_info_offset: 0x4c0 + code_size: 20 + code_offset: 0x238 + - offset: 0x4fa + method_idx: 2 + access_flags: 9 + registers_size: 3 + ins_size: 1 + outs_size: 2 + tries_size: 0 + debug_info_offset: 0x4c8 + code_size: 34 + code_offset: 0x25c + virtual_methods: + - offset: 0x4fe + method_idx: 1 + access_flags: 1 + registers_size: 5 + ins_size: 2 + outs_size: 2 + tries_size: 0 + debug_info_offset: 0x4d1 + code_size: 84 + code_offset: 0x290 + - class_idx: 2 + access_flags: 1 + superclass_idx: 5 + interfaces_offset: 0x0 + source_file_idx: 17 + annotations_offset: 0x0 + class_data_offset: 0x502 + static_values_offset: 0x0 + offset: 0x208 + static_fields: [] + instance_fields: + - offset: 0x506 + field_idx: 2 + access_flags: 0 + - offset: 0x508 + field_idx: 3 + access_flags: 0 + direct_methods: + - offset: 0x50a + method_idx: 3 + access_flags: 65537 + registers_size: 2 + ins_size: 1 + outs_size: 1 + tries_size: 0 + debug_info_offset: 0x4db + code_size: 20 + code_offset: 0x2f4 + virtual_methods: + - offset: 0x510 + method_idx: 4 + access_flags: 1 + registers_size: 5 + ins_size: 2 + outs_size: 2 + tries_size: 0 + debug_info_offset: 0x4e3 + code_size: 68 + code_offset: 0x318 + relocs_detail: + relocs_offset: 0x8000000000 + relocs_size: 14 + relocs_code: "0e 00 0e 00 0e 00 0e 00 0e 00 0e 00 0e 00 |.............. |" + relocs_buffer: "0e 00 0e 00 0e 00 0e 00 0e 00 0e 00 0e 00 |.............. |" EOF RUN -NAME=DEX radare2installer.dex classes (is getProper) +NAME=DEX radare2installer.dex ARGS=-e bin.demangle.flags=all FILE=bins/dex/org.radare.radare2installer.dex -CMDS=ii~getProper +CMDS=<(android.content.Context) +0x100011440 1 com.stericson.RootTools.Installer r boolean installBinary(int, String, String) +0x100011814 2 com.stericson.RootTools.Installer r boolean isBinaryInstalled(String) EOF RUN -NAME=DEX radare2installer.dex classes (ic command) +NAME=DEX radare2installer.dex classes BROKEN=1 FILE=bins/dex/org.radare.radare2installer.dex CMDS=ic @@ -1647,39 +1896,16 @@ EXPECT=<(android.content.Context) -0x100011440 1 com.stericson.RootTools.Installer r boolean installBinary(int, String, String) -0x100011814 2 com.stericson.RootTools.Installer r boolean isBinaryInstalled(String) -EOF -RUN - -NAME=DEX test.dex val -FILE=bins/dex/test.dex -CMDS=e asm.bytes=true; ao~val[1]; -EXPECT=<' - type : '(Ljava/lang/String;)V' - access : 0x10001 (PUBLIC CONSTRUCTOR) - method_idx : 0 - code : (available) - #1 : (in LHello;) - name : 'main' - type : '([Ljava/lang/String;)V' - access : 0x0009 (PUBLIC STATIC) - method_idx : 1 - code : (available) - Virtual methods - - #0 : (in LHello;) - name : 'say' - type : '()V' - access : 0x0001 (PUBLIC) - method_idx : 2 - code : (available) -EOF -RUN - - -NAME=dexdump like output of the dex exportable symbols (public/protected) -FILE=bins/dex/Hello.dex -CMDS=dexe -EXPECT=<' - type : '(Ljava/lang/String;)V' - access : 0x10001 (PUBLIC CONSTRUCTOR) - method_idx : 0 - code : (available) - #1 : (in LHello;) - name : 'main' - type : '([Ljava/lang/String;)V' - access : 0x0009 (PUBLIC STATIC) - method_idx : 1 - code : (available) - Virtual methods - - #0 : (in LHello;) - name : 'say' - type : '()V' - access : 0x0001 (PUBLIC) - method_idx : 2 - code : (available) -EOF -RUN diff --git a/test/db/formats/dmp/dmp b/test/db/formats/dmp/dmp index 5102ee2f59..ebdb0e29d6 100644 --- a/test/db/formats/dmp/dmp +++ b/test/db/formats/dmp/dmp @@ -1,15 +1,19 @@ NAME=: DMP64 Check FILE=bins/dmp/bmp.dmp -CMDS=i~format +CMDS=<(String) + 1 0x00000263 0x00000263 LOCAL FUNC 57 Hello void say() + 2 0x000002aa 0x000002aa LOCAL FUNC 41 Hello void main(String[]) + 0 0x0000020b 0x0000020b LOCAL OBJ 0 Hello Hello.who + 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () + 2 0x0000000f 0x0000000f IMPORT FIELD 0 Hello imp.Hello.who + 3 0x00000014 0x00000014 IMPORT FIELD 0 java.lang.System imp.System.out + 5 0x0000001c 0x0000001c IMPORT METH 0 java.lang.StringBuilder imp.void () + 7 0x00000024 0x00000024 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) + 8 0x00000029 0x00000029 IMPORT METH 0 java.lang.StringBuilder imp.String toString() + 9 0x0000002e 0x0000002e IMPORT METH 0 java.io.PrintStream imp.void println(String) + 12 0x00000039 0x00000039 IMPORT METH 0 Hello imp.void (String) + 13 0x0000003e 0x0000003e IMPORT METH 0 Hello imp.void say() +--- + address min max name super +---------------------------------------------- +0x00000000 0x0000022b 0x000002d3 Hello Object + address index class flags name type +----------------------------------------- +0x0000020b 0 Hello P who String + address index class flags name +------------------------------------------------- +0x0000022b 0 Hello p void (String) +0x00000263 1 Hello p void say() +0x000002aa 2 Hello sp void main(String[]) +--- +nth vaddr bind type lib name +----------------------------------------------------------- + 1 ---------- NONE METH java.lang.Object + 2 ---------- NONE FIELD Hello who + 3 ---------- NONE FIELD java.lang.System out + 5 ---------- NONE METH java.lang.StringBuilder + 7 ---------- NONE METH java.lang.StringBuilder append + 8 ---------- NONE METH java.lang.StringBuilder toString + 9 ---------- NONE METH java.io.PrintStream println + 12 ---------- NONE METH Hello + 13 ---------- NONE METH Hello say +--- + paddr size vaddr vsize align perm name type flags +----------------------------------------------------------------------------------------- +0x0000000a 0x1ff 0x0000000a 0x1ff 0x0 -r-- class.constant_pool +0x0000020b 0xa 0x0000020b 0xa 0x0 -r-- class.fields.who.attr +0x0000020b 0xa 0x0000020b 0xa 0x0 -r-- class.fields +0x00000215 0xb8 0x00000215 0xb8 0x0 -r-- class.methods +0x00000215 0x38 0x00000215 0x38 0x0 -r-- class.methods._init_.attr +0x0000022b 0x2a 0x0000022b 0x2a 0x0 -r-x class.methods._init_.attr.0.code +0x0000024d 0x47 0x0000024d 0x47 0x0 -r-- class.methods.say.attr +0x00000263 0x39 0x00000263 0x39 0x0 -r-x class.methods.say.attr.0.code +0x00000294 0x39 0x00000294 0x39 0x0 -r-- class.methods.main.attr +0x000002aa 0x29 0x000002aa 0x29 0x0 -r-x class.methods.main.attr.0.code +0x000002cd 0x8 0x000002cd 0x8 0x0 -r-- class.attr EOF RUN - NAME=Check if is Kotlin lang FILE=bins/java/HiKt.class -CMDS=iI~lang +CMDS=< -FILE=bins/java/jdwpexeccmd.class -CMDS=iS ; s -EXPECT=<() + 1 0x0000092e 0x0000092e LOCAL FUNC 50 test void (groovy.lang.Binding) + 2 0x0000096e 0x0000096e LOCAL FUNC 50 test void main(String[]) + 3 0x000009ae 0x000009ae LOCAL FUNC 254 test Object run() + 4 0x00000aba 0x00000aba LOCAL FUNC 51 test groovy.lang.MetaClass $getStaticMetaClass() + 5 0x00000afb 0x00000afb LOCAL FUNC 97 test void $createCallSiteArray_1(String[]) + 6 0x00000b6a 0x00000b6a LOCAL FUNC 33 test org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() + 7 0x00000b99 0x00000b99 LOCAL FUNC 52 test org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() + 0 0x000008c9 0x000008c9 LOCAL OBJ 0 test test.$staticClassInfo + 1 0x000008d1 0x000008d1 LOCAL OBJ 0 test test.__$stMC + 2 0x000008d9 0x000008d9 LOCAL OBJ 0 test test.$callSiteArray + 13 0x0000009c 0x0000009c IMPORT METH 0 groovy.lang.Script imp.void () + 17 0x000000ef 0x000000ef IMPORT METH 0 test imp.org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() + 22 0x00000124 0x00000124 IMPORT METH 0 groovy.lang.Script imp.void (groovy.lang.Binding) + 35 0x0000022b 0x0000022b IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object, Object, Object) + 55 0x00000317 0x00000317 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callConstructor(Object, Object) + 61 0x0000038b 0x0000038b IMPORT METH 0 org.codehaus.groovy.runtime.ScriptBytecodeAdapter imp.java.util.Map createMap(Object[]) + 67 0x000003a7 0x000003a7 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object, Object) + 71 0x00000402 0x00000402 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callCurrent(groovy.lang.GroovyObject, Object) + 79 0x00000459 0x00000459 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callGetProperty(Object) + 92 0x000004b5 0x000004b5 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object) +100 0x0000052d 0x0000052d IMPORT METH 0 java.lang.Object imp.Class getClass() +104 0x00000575 0x00000575 IMPORT METH 0 org.codehaus.groovy.runtime.ScriptBytecodeAdapter imp.groovy.lang.MetaClass initMetaClass(Object) +106 0x0000057f 0x0000057f IMPORT FIELD 0 test imp.test.$staticClassInfo +112 0x00000606 0x00000606 IMPORT METH 0 org.codehaus.groovy.reflection.ClassInfo imp.org.codehaus.groovy.reflection.ClassInfo getClassInfo(Class) +115 0x0000061f 0x0000061f IMPORT METH 0 org.codehaus.groovy.reflection.ClassInfo imp.groovy.lang.MetaClass getMetaClass() +147 0x00000767 0x00000767 IMPORT METH 0 test imp.void $createCallSiteArray_1(String[]) +152 0x000007d3 0x000007d3 IMPORT METH 0 org.codehaus.groovy.runtime.callsite.CallSiteArray imp.void (Class, String[]) +154 0x000007dd 0x000007dd IMPORT FIELD 0 test imp.test.$callSiteArray +159 0x0000080e 0x0000080e IMPORT METH 0 java.lang.ref.SoftReference imp.Object get() +161 0x00000818 0x00000818 IMPORT METH 0 test imp.org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() +164 0x0000083a 0x0000083a IMPORT METH 0 java.lang.ref.SoftReference imp.void (Object) +168 0x0000087f 0x0000087f IMPORT FIELD 0 org.codehaus.groovy.runtime.callsite.CallSiteArray imp.org.codehaus.groovy.runtime.callsite.CallSiteArray.array +--- + address min max name super +--------------------------------------------------------- +0x00000000 0x000008f9 0x00000bcd test groovy.lang.Script + address index class flags name type +--------------------------------------------------------------------------------------- +0x000008c9 0 test sPh $staticClassInfo org.codehaus.groovy.reflection.ClassInfo +0x000008d1 1 test spgh __$stMC boolean +0x000008d9 2 test sPh $callSiteArray java.lang.ref.SoftReference + address index class flags name +------------------------------------------------------------------------------------------------------- +0x000008f9 0 test p void () +0x0000092e 1 test p void (groovy.lang.Binding) +0x0000096e 2 test spg void main(String[]) +0x000009ae 3 test p Object run() +0x00000aba 4 test rh groovy.lang.MetaClass $getStaticMetaClass() +0x00000afb 5 test sPh void $createCallSiteArray_1(String[]) +0x00000b6a 6 test sPh org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() +0x00000b99 7 test sPh org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() +--- +nth vaddr bind type lib name +---------------------------------------------------------------------------------------------------- + 13 ---------- NONE METH groovy.lang.Script + 17 ---------- NONE METH test $getCallSiteArray + 22 ---------- NONE METH groovy.lang.Script + 35 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call + 55 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callConstructor + 61 ---------- NONE METH org.codehaus.groovy.runtime.ScriptBytecodeAdapter createMap + 67 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call + 71 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callCurrent + 79 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callGetProperty + 92 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call +100 ---------- NONE METH java.lang.Object getClass +104 ---------- NONE METH org.codehaus.groovy.runtime.ScriptBytecodeAdapter initMetaClass +106 ---------- NONE FIELD test $staticClassInfo +112 ---------- NONE METH org.codehaus.groovy.reflection.ClassInfo getClassInfo +115 ---------- NONE METH org.codehaus.groovy.reflection.ClassInfo getMetaClass +147 ---------- NONE METH test $createCallSiteArray_1 +152 ---------- NONE METH org.codehaus.groovy.runtime.callsite.CallSiteArray +154 ---------- NONE FIELD test $callSiteArray +159 ---------- NONE METH java.lang.ref.SoftReference get +161 ---------- NONE METH test $createCallSiteArray +164 ---------- NONE METH java.lang.ref.SoftReference +168 ---------- NONE FIELD org.codehaus.groovy.runtime.callsite.CallSiteArray array +--- + paddr size vaddr vsize align perm name type flags +--------------------------------------------------------------------------------------------------------- +0x0000000a 0x8bd 0x0000000a 0x8bd 0x0 -r-- class.constant_pool +0x000008c9 0x8 0x000008c9 0x8 0x0 -r-- class.fields._staticClassInfo.attr +0x000008d1 0x8 0x000008d1 0x8 0x0 -r-- class.fields.___stMC.attr +0x000008d9 0xa 0x000008d9 0xa 0x0 -r-- class.fields._callSiteArray.attr +0x000008c9 0x1a 0x000008c9 0x1a 0x0 -r-- class.fields +0x000008e3 0x2e4 0x000008e3 0x2e4 0x0 -r-- class.methods +0x000008e3 0x35 0x000008e3 0x35 0x0 -r-- class.methods._init_.attr +0x000008f9 0x27 0x000008f9 0x27 0x0 -r-x class.methods._init_.attr.0.code +0x00000918 0x40 0x00000918 0x40 0x0 -r-- class.methods._init__1.attr +0x0000092e 0x32 0x0000092e 0x32 0x0 -r-x class.methods._init__1.attr.0.code +0x00000958 0x40 0x00000958 0x40 0x0 -r-- class.methods.main.attr +0x0000096e 0x32 0x0000096e 0x32 0x0 -r-x class.methods.main.attr.0.code +0x00000998 0x10c 0x00000998 0x10c 0x0 -r-- class.methods.run.attr +0x000009ae 0xfe 0x000009ae 0xfe 0x0 -r-x class.methods.run.attr.0.code +0x00000aa4 0x41 0x00000aa4 0x41 0x0 -r-- class.methods._getStaticMetaClass.attr +0x00000aba 0x33 0x00000aba 0x33 0x0 -r-x class.methods._getStaticMetaClass.attr.0.code +0x00000ae5 0x6f 0x00000ae5 0x6f 0x0 -r-- class.methods._createCallSiteArray_1.attr +0x00000afb 0x61 0x00000afb 0x61 0x0 -r-x class.methods._createCallSiteArray_1.attr.0.code +0x00000b54 0x2f 0x00000b54 0x2f 0x0 -r-- class.methods._createCallSiteArray.attr +0x00000b6a 0x21 0x00000b6a 0x21 0x0 -r-x class.methods._createCallSiteArray.attr.0.code +0x00000b83 0x44 0x00000b83 0x44 0x0 -r-- class.methods._getCallSiteArray.attr +0x00000b99 0x34 0x00000b99 0x34 0x0 -r-x class.methods._getCallSiteArray.attr.0.code +0x00000bc7 0x8 0x00000bc7 0x8 0x0 -r-- class.attr +EOF +RUN -NAME=Java list symbols crash2.class +NAME=Check if has line number +FILE=bins/java/Main.class +CMDS=<() + 1 0x000003b4 0x000003b4 LOCAL FUNC 206 Main void main(String[]) + 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () + 2 0x0000000f 0x0000000f IMPORT FIELD 0 java.lang.System imp.System.out + 4 0x00000017 0x00000017 IMPORT METH 0 java.io.PrintStream imp.void println(String) + 8 0x00000025 0x00000025 IMPORT METH 0 java.io.FileReader imp.void (String) + 9 0x0000002a 0x0000002a IMPORT METH 0 java.io.BufferedReader imp.void (java.io.Reader) + 10 0x0000002f 0x0000002f IMPORT METH 0 java.io.BufferedReader imp.String readLine() + 12 0x00000037 0x00000037 IMPORT METH 0 java.lang.StringBuilder imp.void () + 14 0x0000003f 0x0000003f IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) + 15 0x00000044 0x00000044 IMPORT METH 0 java.lang.StringBuilder imp.String toString() + 16 0x00000049 0x00000049 IMPORT METH 0 java.io.BufferedReader imp.void close() + 18 0x00000051 0x00000051 IMPORT FIELD 0 java.lang.System imp.System.err + 21 0x0000005c 0x0000005c IMPORT METH 0 java.io.PrintStream imp.java.io.PrintStream format(String, Object[]) + 22 0x00000061 0x00000061 IMPORT METH 0 java.lang.Exception imp.void printStackTrace() +--- + address min max name super +--------------------------------------------- +0x00000000 0x00000389 0x00000482 Main Object +address index class flags name type +------------------------------------ + address index class flags name +------------------------------------------------- +0x00000389 0 Main p void () +0x000003b4 1 Main sp void main(String[]) +--- +nth vaddr bind type lib name +------------------------------------------------------------------ + 1 ---------- NONE METH java.lang.Object + 2 ---------- NONE FIELD java.lang.System out + 4 ---------- NONE METH java.io.PrintStream println + 8 ---------- NONE METH java.io.FileReader + 9 ---------- NONE METH java.io.BufferedReader + 10 ---------- NONE METH java.io.BufferedReader readLine + 12 ---------- NONE METH java.lang.StringBuilder + 14 ---------- NONE METH java.lang.StringBuilder append + 15 ---------- NONE METH java.lang.StringBuilder toString + 16 ---------- NONE METH java.io.BufferedReader close + 18 ---------- NONE FIELD java.lang.System err + 21 ---------- NONE METH java.io.PrintStream format + 22 ---------- NONE METH java.lang.Exception printStackTrace +--- + paddr size vaddr vsize align perm name type flags +----------------------------------------------------------------------------------------- +0x0000000a 0x365 0x0000000a 0x365 0x0 -r-- class.constant_pool +0x00000373 0x109 0x00000373 0x109 0x0 -r-- class.methods +0x00000373 0x2b 0x00000373 0x2b 0x0 -r-- class.methods._init_.attr +0x00000389 0x1d 0x00000389 0x1d 0x0 -r-x class.methods._init_.attr.0.code +0x0000039e 0xde 0x0000039e 0xde 0x0 -r-- class.methods.main.attr +0x000003b4 0xce 0x000003b4 0xce 0x0 -r-x class.methods.main.attr.0.code +0x0000047c 0x8 0x0000047c 0x8 0x0 -r-- class.attr +EOF +RUN + +NAME=Check that it does not have line number +FILE=bins/java/TryWithResources.class +CMDS=<(int) + 2 0x00000484 0x00000484 LOCAL FUNC 62 TryWithResources void close() + 3 0x000004d0 0x000004d0 LOCAL FUNC 29 TryWithResources void $(int, RuntimeException) + 4 0x000004fb 0x000004fb LOCAL FUNC 20 TryWithResources void $(RuntimeException) + 5 0x0000051d 0x0000051d LOCAL FUNC 23 TryWithResources void main(String[]) + 6 0x0000054c 0x0000054c LOCAL FUNC 18879 TryWithResources TryWithResources.main + 7 0x00004f19 0x00004f19 LOCAL FUNC 24 TryWithResources void () + 0 0x000003f9 0x000003f9 LOCAL OBJ 0 TryWithResources TryWithResources.$ + 1 0x00000401 0x00000401 LOCAL OBJ 0 TryWithResources TryWithResources.i + 2 0x0000000d 0x0000000d IMPORT METH 0 TryWithResources imp.void (int) + 3 0x00000012 0x00000012 IMPORT METH 0 java.lang.RuntimeException imp.void () + 4 0x00000017 0x00000017 IMPORT FIELD 0 java.lang.System imp.System.out + 6 0x0000001f 0x0000001f IMPORT METH 0 java.lang.StringBuilder imp.void () + 8 0x00000027 0x00000027 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) + 9 0x0000002c 0x0000002c IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(int) + 10 0x00000031 0x00000031 IMPORT METH 0 java.lang.StringBuilder imp.String toString() + 11 0x00000036 0x00000036 IMPORT METH 0 java.io.PrintStream imp.void println(String) + 12 0x0000003b 0x0000003b IMPORT FIELD 0 TryWithResources imp.TryWithResources.i + 14 0x00000043 0x00000043 IMPORT METH 0 java.io.PrintStream imp.void println(Object) + 15 0x00000048 0x00000048 IMPORT FIELD 0 TryWithResources imp.TryWithResources.$ + 17 0x00000050 0x00000050 IMPORT FUNC 0 TryWithResources imp.TryWithResources.main + 19 0x00000058 0x00000058 IMPORT METH 0 TryWithResources imp.void $(RuntimeException) + 20 0x0000005d 0x0000005d IMPORT METH 0 java.io.PrintStream imp.void println(int) + 21 0x00000062 0x00000062 IMPORT METH 0 TryWithResources imp.void $(int, RuntimeException) + 22 0x00000067 0x00000067 IMPORT METH 0 TryWithResources imp.void close() + 24 0x0000006f 0x0000006f IMPORT METH 0 java.lang.Throwable imp.void addSuppressed(Throwable) + 25 0x00000074 0x00000074 IMPORT METH 0 TryWithResources imp.TryWithResources $(int) + 26 0x00000079 0x00000079 IMPORT IMETH 0 java.lang.AutoCloseable imp.void close() + 27 0x0000007e 0x0000007e IMPORT METH 0 java.lang.Throwable imp.void printStackTrace() +--- + address min max name super +------------------------------------------------------------------- +0x00000000 0x00000421 0x00004f31 TryWithResources RuntimeException + address index class flags name type +-------------------------------------------------------------- +0x000003f9 0 TryWithResources sp $ TryWithResources +0x00000401 1 TryWithResources pf i int + address index class flags name +---------------------------------------------------------------------- +0x00000421 0 TryWithResources sp TryWithResources $(int) +0x00000444 1 TryWithResources p void (int) +0x00000484 2 TryWithResources p void close() +0x000004d0 3 TryWithResources sp void $(int, RuntimeException) +0x000004fb 4 TryWithResources sp void $(RuntimeException) +0x0000051d 5 TryWithResources sp void main(String[]) +0x0000054c 6 TryWithResources pg TryWithResources.main +0x00004f19 7 TryWithResources s void () +--- +nth vaddr bind type lib name +----------------------------------------------------------------------- + 2 ---------- NONE METH TryWithResources + 3 ---------- NONE METH java.lang.RuntimeException + 4 ---------- NONE FIELD java.lang.System out + 6 ---------- NONE METH java.lang.StringBuilder + 8 ---------- NONE METH java.lang.StringBuilder append + 9 ---------- NONE METH java.lang.StringBuilder append + 10 ---------- NONE METH java.lang.StringBuilder toString + 11 ---------- NONE METH java.io.PrintStream println + 12 ---------- NONE FIELD TryWithResources i + 14 ---------- NONE METH java.io.PrintStream println + 15 ---------- NONE FIELD TryWithResources $ + 17 ---------- GLOBAL FUNC TryWithResources main + 19 ---------- NONE METH TryWithResources $ + 20 ---------- NONE METH java.io.PrintStream println + 21 ---------- NONE METH TryWithResources $ + 22 ---------- NONE METH TryWithResources close + 24 ---------- NONE METH java.lang.Throwable addSuppressed + 25 ---------- NONE METH TryWithResources $ + 26 ---------- NONE IMETH java.lang.AutoCloseable close + 27 ---------- NONE METH java.lang.Throwable printStackTrace + 0 ---------- WEAK IFACE java.lang.AutoCloseable * +--- + paddr size vaddr vsize align perm name type flags +---------------------------------------------------------------------------------------------- +0x0000000a 0x3eb 0x0000000a 0x3eb 0x0 -r-- class.constant_pool +0x000003f5 0x4 0x000003f5 0x4 0x0 -r-- class.interfaces +0x000003f9 0x8 0x000003f9 0x8 0x0 -r-- class.fields._.attr +0x00000401 0xa 0x00000401 0xa 0x0 -r-- class.fields.i.attr +0x000003f9 0x12 0x000003f9 0x12 0x0 -r-- class.fields +0x0000040b 0x4b20 0x0000040b 0x4b20 0x0 -r-- class.methods +0x0000040b 0x23 0x0000040b 0x23 0x0 -r-- class.methods._.attr +0x00000421 0x15 0x00000421 0x15 0x0 -r-x class.methods._.attr.0.code +0x0000042e 0x40 0x0000042e 0x40 0x0 -r-- class.methods._init_.attr +0x00000444 0x32 0x00000444 0x32 0x0 -r-x class.methods._init_.attr.0.code +0x0000046e 0x4c 0x0000046e 0x4c 0x0 -r-- class.methods.close.attr +0x00000484 0x3e 0x00000484 0x3e 0x0 -r-x class.methods.close.attr.0.code +0x000004ba 0x2b 0x000004ba 0x2b 0x0 -r-- class.methods.__1.attr +0x000004d0 0x1d 0x000004d0 0x1d 0x0 -r-x class.methods.__1.attr.0.code +0x000004e5 0x22 0x000004e5 0x22 0x0 -r-- class.methods.__1.attr_0x4e5 +0x000004fb 0x14 0x000004fb 0x14 0x0 -r-x class.methods.__1.attr.0.code_0x4fb +0x00000507 0x2f 0x00000507 0x2f 0x0 -r-- class.methods.main.attr +0x0000051d 0x17 0x0000051d 0x17 0x0 -r-x class.methods.main.attr.0.code +0x00000536 0x49cd 0x00000536 0x49cd 0x0 -r-- class.methods.main_1.attr +0x0000054c 0x49bf 0x0000054c 0x49bf 0x0 -r-x class.methods.main_1.attr.0.code +0x00004f03 0x28 0x00004f03 0x28 0x0 -r-- class.methods._clinit_.attr +0x00004f19 0x18 0x00004f19 0x18 0x0 -r-x class.methods._clinit_.attr.0.code +EOF +RUN + +NAME=Check that entry point points to +FILE=bins/java/jdwpexeccmd.class +CMDS=<() + 1 0x00000364 0x00000364 LOCAL FUNC 233 JDWPExecCmd String run(String) + 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () + 3 0x00000012 0x00000012 IMPORT METH 0 java.lang.StringBuilder imp.void () + 4 0x00000017 0x00000017 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) + 6 0x0000001f 0x0000001f IMPORT METH 0 java.lang.StringBuilder imp.String toString() + 7 0x00000024 0x00000024 IMPORT METH 0 java.lang.Runtime imp.Runtime getRuntime() + 8 0x00000029 0x00000029 IMPORT METH 0 java.lang.Runtime imp.Process exec(String) + 11 0x00000034 0x00000034 IMPORT METH 0 java.lang.Process imp.java.io.InputStream getInputStream() + 12 0x00000039 0x00000039 IMPORT METH 0 java.io.InputStreamReader imp.void (java.io.InputStream) + 13 0x0000003e 0x0000003e IMPORT METH 0 java.io.BufferedReader imp.void (java.io.Reader) + 14 0x00000043 0x00000043 IMPORT METH 0 java.io.BufferedReader imp.String readLine() + 15 0x00000048 0x00000048 IMPORT METH 0 java.lang.String imp.String trim() +--- + address min max name super +---------------------------------------------------- +0x00000000 0x00000339 0x0000044d JDWPExecCmd Object +address index class flags name type +------------------------------------ + address index class flags name +------------------------------------------------------ +0x00000339 0 JDWPExecCmd p void () +0x00000364 1 JDWPExecCmd sp String run(String) +--- +nth vaddr bind type lib name +------------------------------------------------------------------ + 1 ---------- NONE METH java.lang.Object + 3 ---------- NONE METH java.lang.StringBuilder + 4 ---------- NONE METH java.lang.StringBuilder append + 6 ---------- NONE METH java.lang.StringBuilder toString + 7 ---------- NONE METH java.lang.Runtime getRuntime + 8 ---------- NONE METH java.lang.Runtime exec + 11 ---------- NONE METH java.lang.Process getInputStream + 12 ---------- NONE METH java.io.InputStreamReader + 13 ---------- NONE METH java.io.BufferedReader + 14 ---------- NONE METH java.io.BufferedReader readLine + 15 ---------- NONE METH java.lang.String trim +EOF +RUN + +NAME=Java crash2.class FILE=bins/java/crash2.class -CMDS=is +CMDS=<() 3 0x00000012 0x00000012 IMPORT FIELD 0 java.lang.System imp.System.out 5 0x0000001a 0x0000001a IMPORT METH 0 java.io.PrintStream imp.void println(String) +--- + address min max name super +------------------------------------------------- +0x00000000 0x00000190 0x00000236 DemoTest Object +address index class flags name type +------------------------------------ + address index class flags name +---------------------------------------------------- +0x00000190 0 DemoTest p int fun() +0x000001b9 1 DemoTest p void () +0x000001e8 2 DemoTest p String res() +0x00000211 3 DemoTest sp void main(String[]) +--- +nth vaddr bind type lib name +------------------------------------------------------ + 1 ---------- NONE METH java.lang.Object + 3 ---------- NONE FIELD java.lang.System out + 5 ---------- NONE METH java.io.PrintStream println +--- + paddr size vaddr vsize align perm name type flags +----------------------------------------------------------------------------------------- +0x0000000a 0x16c 0x0000000a 0x16c 0x0 -r-- class.constant_pool +0x0000017a 0xb6 0x0000017a 0xb6 0x0 -r-- class.methods +0x0000017a 0x29 0x0000017a 0x29 0x0 -r-- class.methods.fun.attr +0x00000190 0x1b 0x00000190 0x1b 0x0 -r-x class.methods.fun.attr.0.code +0x000001a3 0x2f 0x000001a3 0x2f 0x0 -r-- class.methods._init_.attr +0x000001b9 0x21 0x000001b9 0x21 0x0 -r-x class.methods._init_.attr.0.code +0x000001d2 0x29 0x000001d2 0x29 0x0 -r-- class.methods.res.attr +0x000001e8 0x1b 0x000001e8 0x1b 0x0 -r-x class.methods.res.attr.0.code +0x000001fb 0x35 0x000001fb 0x35 0x0 -r-- class.methods.main.attr +0x00000211 0x25 0x00000211 0x25 0x0 -r-x class.methods.main.attr.0.code +0x00000230 0x8 0x00000230 0x8 0x0 -r-- class.attr EOF RUN - -NAME=Java list symbols ExCaseTableSwitch.class +NAME=Java ExCaseTableSwitch.class FILE=bins/java/ExCaseTableSwitch.class -CMDS=is +CMDS=<() 55 0x00000267 0x00000267 IMPORT METH 0 java.lang.Integer imp.Integer valueOf(int) 61 0x000002ab 0x000002ab IMPORT METH 0 TestVariableSwitchUp imp.void TestMultipleVariable() +--- + address min max name super +-------------------------------------------------------- +0x00000000 0x00000464 0x00000d74 CaseTableSwitch Object +address index class flags name type +------------------------------------ + address index class flags name +-------------------------------------------------------------------- +0x00000464 0 CaseTableSwitch p void () +0x000004a1 1 CaseTableSwitch p String a(int) +0x000005df 2 CaseTableSwitch p int a(String) +0x00000623 3 CaseTableSwitch p int a() +0x0000065d 4 CaseTableSwitch p void hopskip_line_switch() +0x00000816 5 CaseTableSwitch p void straight_line_switch() +0x000009ea 6 CaseTableSwitch p void straight_line_switch_() +0x00000bb6 7 CaseTableSwitch sp void main(String[]) +--- +nth vaddr bind type lib name +----------------------------------------------------------------------- + 8 ---------- NONE METH java.lang.Object + 16 ---------- NONE FIELD java.lang.System out + 26 ---------- NONE METH java.lang.StringBuilder + 29 ---------- NONE METH java.lang.StringBuilder append + 33 ---------- NONE METH java.lang.StringBuilder toString + 37 ---------- NONE METH java.io.PrintStream println + 46 ---------- NONE METH java.lang.String + 55 ---------- NONE METH java.lang.Integer valueOf + 61 ---------- NONE METH TestVariableSwitchUp TestMultipleVariable +--- + paddr size vaddr vsize align perm name type flags +-------------------------------------------------------------------------------------------------------- +0x0000000a 0x440 0x0000000a 0x440 0x0 -r-- class.constant_pool +0x0000044e 0x920 0x0000044e 0x920 0x0 -r-- class.methods +0x0000044e 0x3d 0x0000044e 0x3d 0x0 -r-- class.methods._init_.attr +0x00000464 0x2f 0x00000464 0x2f 0x0 -r-x class.methods._init_.attr.0.code +0x0000048b 0x13e 0x0000048b 0x13e 0x0 -r-- class.methods.a.attr +0x000004a1 0x130 0x000004a1 0x130 0x0 -r-x class.methods.a.attr.0.code +0x000005c9 0x44 0x000005c9 0x44 0x0 -r-- class.methods.a_1.attr +0x000005df 0x36 0x000005df 0x36 0x0 -r-x class.methods.a_1.attr.0.code +0x0000060d 0x3a 0x0000060d 0x3a 0x0 -r-- class.methods.a_1.attr_0x60d +0x00000623 0x2c 0x00000623 0x2c 0x0 -r-x class.methods.a_1.attr.0.code_0x623 +0x00000647 0x1b9 0x00000647 0x1b9 0x0 -r-- class.methods.hopskip_line_switch.attr +0x0000065d 0x1ab 0x0000065d 0x1ab 0x0 -r-x class.methods.hopskip_line_switch.attr.0.code +0x00000800 0x1d4 0x00000800 0x1d4 0x0 -r-- class.methods.straight_line_switch.attr +0x00000816 0x1c6 0x00000816 0x1c6 0x0 -r-x class.methods.straight_line_switch.attr.0.code +0x000009d4 0x1cc 0x000009d4 0x1cc 0x0 -r-- class.methods.straight_line_switch_.attr +0x000009ea 0x1be 0x000009ea 0x1be 0x0 -r-x class.methods.straight_line_switch_.attr.0.code +0x00000ba0 0x1ce 0x00000ba0 0x1ce 0x0 -r-- class.methods.main.attr +0x00000bb6 0x1be 0x00000bb6 0x1be 0x0 -r-x class.methods.main.attr.0.code +0x00000d6e 0x8 0x00000d6e 0x8 0x0 -r-- class.attr EOF RUN - -NAME=Java list symbols fuckedup.class +NAME=Java fuckedup.class FILE=bins/java/fuckedup.class -CMDS=is +CMDS=<(String) - 1 0x00000263 0x00000263 LOCAL FUNC 57 Hello void say() - 2 0x000002aa 0x000002aa LOCAL FUNC 41 Hello void main(String[]) - 0 0x0000020b 0x0000020b LOCAL OBJ 0 Hello Hello.who - 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () - 2 0x0000000f 0x0000000f IMPORT FIELD 0 Hello imp.Hello.who - 3 0x00000014 0x00000014 IMPORT FIELD 0 java.lang.System imp.System.out - 5 0x0000001c 0x0000001c IMPORT METH 0 java.lang.StringBuilder imp.void () - 7 0x00000024 0x00000024 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) - 8 0x00000029 0x00000029 IMPORT METH 0 java.lang.StringBuilder imp.String toString() - 9 0x0000002e 0x0000002e IMPORT METH 0 java.io.PrintStream imp.void println(String) - 12 0x00000039 0x00000039 IMPORT METH 0 Hello imp.void (String) - 13 0x0000003e 0x0000003e IMPORT METH 0 Hello imp.void say() -EOF -RUN - - -NAME=Java list symbols HiKt.class -FILE=bins/java/HiKt.class -CMDS=is -EXPECT=<() - 1 0x00000364 0x00000364 LOCAL FUNC 233 JDWPExecCmd String run(String) - 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () - 3 0x00000012 0x00000012 IMPORT METH 0 java.lang.StringBuilder imp.void () - 4 0x00000017 0x00000017 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) - 6 0x0000001f 0x0000001f IMPORT METH 0 java.lang.StringBuilder imp.String toString() - 7 0x00000024 0x00000024 IMPORT METH 0 java.lang.Runtime imp.Runtime getRuntime() - 8 0x00000029 0x00000029 IMPORT METH 0 java.lang.Runtime imp.Process exec(String) - 11 0x00000034 0x00000034 IMPORT METH 0 java.lang.Process imp.java.io.InputStream getInputStream() - 12 0x00000039 0x00000039 IMPORT METH 0 java.io.InputStreamReader imp.void (java.io.InputStream) - 13 0x0000003e 0x0000003e IMPORT METH 0 java.io.BufferedReader imp.void (java.io.Reader) - 14 0x00000043 0x00000043 IMPORT METH 0 java.io.BufferedReader imp.String readLine() - 15 0x00000048 0x00000048 IMPORT METH 0 java.lang.String imp.String trim() -EOF -RUN - - -NAME=Java list symbols MainActivity.class +NAME=Java MainActivity.class FILE=bins/java/MainActivity.class -CMDS=is +CMDS=<() - 1 0x000003b4 0x000003b4 LOCAL FUNC 206 Main void main(String[]) - 1 0x0000000a 0x0000000a IMPORT METH 0 java.lang.Object imp.void () - 2 0x0000000f 0x0000000f IMPORT FIELD 0 java.lang.System imp.System.out - 4 0x00000017 0x00000017 IMPORT METH 0 java.io.PrintStream imp.void println(String) - 8 0x00000025 0x00000025 IMPORT METH 0 java.io.FileReader imp.void (String) - 9 0x0000002a 0x0000002a IMPORT METH 0 java.io.BufferedReader imp.void (java.io.Reader) - 10 0x0000002f 0x0000002f IMPORT METH 0 java.io.BufferedReader imp.String readLine() - 12 0x00000037 0x00000037 IMPORT METH 0 java.lang.StringBuilder imp.void () - 14 0x0000003f 0x0000003f IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) - 15 0x00000044 0x00000044 IMPORT METH 0 java.lang.StringBuilder imp.String toString() - 16 0x00000049 0x00000049 IMPORT METH 0 java.io.BufferedReader imp.void close() - 18 0x00000051 0x00000051 IMPORT FIELD 0 java.lang.System imp.System.err - 21 0x0000005c 0x0000005c IMPORT METH 0 java.io.PrintStream imp.java.io.PrintStream format(String, Object[]) - 22 0x00000061 0x00000061 IMPORT METH 0 java.lang.Exception imp.void printStackTrace() -EOF -RUN - - -NAME=Java list symbols sjybq.class -FILE=bins/java/sjybq.class -CMDS=is -EXPECT=<() - 1 0x0000092e 0x0000092e LOCAL FUNC 50 test void (groovy.lang.Binding) - 2 0x0000096e 0x0000096e LOCAL FUNC 50 test void main(String[]) - 3 0x000009ae 0x000009ae LOCAL FUNC 254 test Object run() - 4 0x00000aba 0x00000aba LOCAL FUNC 51 test groovy.lang.MetaClass $getStaticMetaClass() - 5 0x00000afb 0x00000afb LOCAL FUNC 97 test void $createCallSiteArray_1(String[]) - 6 0x00000b6a 0x00000b6a LOCAL FUNC 33 test org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() - 7 0x00000b99 0x00000b99 LOCAL FUNC 52 test org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() - 0 0x000008c9 0x000008c9 LOCAL OBJ 0 test test.$staticClassInfo - 1 0x000008d1 0x000008d1 LOCAL OBJ 0 test test.__$stMC - 2 0x000008d9 0x000008d9 LOCAL OBJ 0 test test.$callSiteArray - 13 0x0000009c 0x0000009c IMPORT METH 0 groovy.lang.Script imp.void () - 17 0x000000ef 0x000000ef IMPORT METH 0 test imp.org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() - 22 0x00000124 0x00000124 IMPORT METH 0 groovy.lang.Script imp.void (groovy.lang.Binding) - 35 0x0000022b 0x0000022b IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object, Object, Object) - 55 0x00000317 0x00000317 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callConstructor(Object, Object) - 61 0x0000038b 0x0000038b IMPORT METH 0 org.codehaus.groovy.runtime.ScriptBytecodeAdapter imp.java.util.Map createMap(Object[]) - 67 0x000003a7 0x000003a7 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object, Object) - 71 0x00000402 0x00000402 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callCurrent(groovy.lang.GroovyObject, Object) - 79 0x00000459 0x00000459 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object callGetProperty(Object) - 92 0x000004b5 0x000004b5 IMPORT IMETH 0 org.codehaus.groovy.runtime.callsite.CallSite imp.Object call(Object) -100 0x0000052d 0x0000052d IMPORT METH 0 java.lang.Object imp.Class getClass() -104 0x00000575 0x00000575 IMPORT METH 0 org.codehaus.groovy.runtime.ScriptBytecodeAdapter imp.groovy.lang.MetaClass initMetaClass(Object) -106 0x0000057f 0x0000057f IMPORT FIELD 0 test imp.test.$staticClassInfo -112 0x00000606 0x00000606 IMPORT METH 0 org.codehaus.groovy.reflection.ClassInfo imp.org.codehaus.groovy.reflection.ClassInfo getClassInfo(Class) -115 0x0000061f 0x0000061f IMPORT METH 0 org.codehaus.groovy.reflection.ClassInfo imp.groovy.lang.MetaClass getMetaClass() -147 0x00000767 0x00000767 IMPORT METH 0 test imp.void $createCallSiteArray_1(String[]) -152 0x000007d3 0x000007d3 IMPORT METH 0 org.codehaus.groovy.runtime.callsite.CallSiteArray imp.void (Class, String[]) -154 0x000007dd 0x000007dd IMPORT FIELD 0 test imp.test.$callSiteArray -159 0x0000080e 0x0000080e IMPORT METH 0 java.lang.ref.SoftReference imp.Object get() -161 0x00000818 0x00000818 IMPORT METH 0 test imp.org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() -164 0x0000083a 0x0000083a IMPORT METH 0 java.lang.ref.SoftReference imp.void (Object) -168 0x0000087f 0x0000087f IMPORT FIELD 0 org.codehaus.groovy.runtime.callsite.CallSiteArray imp.org.codehaus.groovy.runtime.callsite.CallSiteArray.array -EOF -RUN - - -NAME=Java list symbols TryWithResources.class -FILE=bins/java/TryWithResources.class -CMDS=is -EXPECT=<(int) - 2 0x00000484 0x00000484 LOCAL FUNC 62 TryWithResources void close() - 3 0x000004d0 0x000004d0 LOCAL FUNC 29 TryWithResources void $(int, RuntimeException) - 4 0x000004fb 0x000004fb LOCAL FUNC 20 TryWithResources void $(RuntimeException) - 5 0x0000051d 0x0000051d LOCAL FUNC 23 TryWithResources void main(String[]) - 6 0x0000054c 0x0000054c LOCAL FUNC 18879 TryWithResources TryWithResources.main - 7 0x00004f19 0x00004f19 LOCAL FUNC 24 TryWithResources void () - 0 0x000003f9 0x000003f9 LOCAL OBJ 0 TryWithResources TryWithResources.$ - 1 0x00000401 0x00000401 LOCAL OBJ 0 TryWithResources TryWithResources.i - 2 0x0000000d 0x0000000d IMPORT METH 0 TryWithResources imp.void (int) - 3 0x00000012 0x00000012 IMPORT METH 0 java.lang.RuntimeException imp.void () - 4 0x00000017 0x00000017 IMPORT FIELD 0 java.lang.System imp.System.out - 6 0x0000001f 0x0000001f IMPORT METH 0 java.lang.StringBuilder imp.void () - 8 0x00000027 0x00000027 IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(String) - 9 0x0000002c 0x0000002c IMPORT METH 0 java.lang.StringBuilder imp.StringBuilder append(int) - 10 0x00000031 0x00000031 IMPORT METH 0 java.lang.StringBuilder imp.String toString() - 11 0x00000036 0x00000036 IMPORT METH 0 java.io.PrintStream imp.void println(String) - 12 0x0000003b 0x0000003b IMPORT FIELD 0 TryWithResources imp.TryWithResources.i - 14 0x00000043 0x00000043 IMPORT METH 0 java.io.PrintStream imp.void println(Object) - 15 0x00000048 0x00000048 IMPORT FIELD 0 TryWithResources imp.TryWithResources.$ - 17 0x00000050 0x00000050 IMPORT FUNC 0 TryWithResources imp.TryWithResources.main - 19 0x00000058 0x00000058 IMPORT METH 0 TryWithResources imp.void $(RuntimeException) - 20 0x0000005d 0x0000005d IMPORT METH 0 java.io.PrintStream imp.void println(int) - 21 0x00000062 0x00000062 IMPORT METH 0 TryWithResources imp.void $(int, RuntimeException) - 22 0x00000067 0x00000067 IMPORT METH 0 TryWithResources imp.void close() - 24 0x0000006f 0x0000006f IMPORT METH 0 java.lang.Throwable imp.void addSuppressed(Throwable) - 25 0x00000074 0x00000074 IMPORT METH 0 TryWithResources imp.TryWithResources $(int) - 26 0x00000079 0x00000079 IMPORT IMETH 0 java.lang.AutoCloseable imp.void close() - 27 0x0000007e 0x0000007e IMPORT METH 0 java.lang.Throwable imp.void printStackTrace() -EOF -RUN - - -NAME=Java list classes crash2.class -FILE=bins/java/crash2.class -CMDS=<() -0x000001e8 2 DemoTest p String res() -0x00000211 3 DemoTest sp void main(String[]) -EOF -RUN - - -NAME=Java list classes ExCaseTableSwitch.class -FILE=bins/java/ExCaseTableSwitch.class -CMDS=<() -0x000004a1 1 CaseTableSwitch p String a(int) -0x000005df 2 CaseTableSwitch p int a(String) -0x00000623 3 CaseTableSwitch p int a() -0x0000065d 4 CaseTableSwitch p void hopskip_line_switch() -0x00000816 5 CaseTableSwitch p void straight_line_switch() -0x000009ea 6 CaseTableSwitch p void straight_line_switch_() -0x00000bb6 7 CaseTableSwitch sp void main(String[]) -EOF -RUN - - -NAME=Java list classes fuckedup.class -FILE=bins/java/fuckedup.class -CMDS=<(String) -0x00000263 1 Hello p void say() -0x000002aa 2 Hello sp void main(String[]) -EOF -RUN - - -NAME=Java list classes HiKt.class -FILE=bins/java/HiKt.class -CMDS=<() -0x00000364 1 JDWPExecCmd sp String run(String) -EOF -RUN - - -NAME=Java list classes MainActivity.class -FILE=bins/java/MainActivity.class -CMDS=<() -0x000003b4 1 Main sp void main(String[]) -EOF -RUN - - -NAME=Java list classes sjybq.class -FILE=bins/java/sjybq.class -CMDS=ic -EXPECT=<() -0x0000092e 1 test p void (groovy.lang.Binding) -0x0000096e 2 test spg void main(String[]) -0x000009ae 3 test p Object run() -0x00000aba 4 test rh groovy.lang.MetaClass $getStaticMetaClass() -0x00000afb 5 test sPh void $createCallSiteArray_1(String[]) -0x00000b6a 6 test sPh org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray() -0x00000b99 7 test sPh org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray() -EOF -RUN - - -NAME=Java list classes TryWithResources.class -FILE=bins/java/TryWithResources.class -CMDS=<(int) -0x00000484 2 TryWithResources p void close() -0x000004d0 3 TryWithResources sp void $(int, RuntimeException) -0x000004fb 4 TryWithResources sp void $(RuntimeException) -0x0000051d 5 TryWithResources sp void main(String[]) -0x0000054c 6 TryWithResources pg TryWithResources.main -0x00004f19 7 TryWithResources s void () -EOF -RUN - - - - -NAME=Java list imports crash2.class -FILE=bins/java/crash2.class -CMDS=ii -EXPECT=< - 3 ---------- NONE FIELD java.lang.System out - 5 ---------- NONE METH java.io.PrintStream println -EOF -RUN - - -NAME=Java list imports ExCaseTableSwitch.class -FILE=bins/java/ExCaseTableSwitch.class -CMDS=ii -EXPECT=< - 16 ---------- NONE FIELD java.lang.System out - 26 ---------- NONE METH java.lang.StringBuilder - 29 ---------- NONE METH java.lang.StringBuilder append - 33 ---------- NONE METH java.lang.StringBuilder toString - 37 ---------- NONE METH java.io.PrintStream println - 46 ---------- NONE METH java.lang.String - 55 ---------- NONE METH java.lang.Integer valueOf - 61 ---------- NONE METH TestVariableSwitchUp TestMultipleVariable -EOF -RUN - - -NAME=Java list imports fuckedup.class -FILE=bins/java/fuckedup.class -CMDS=ii -EXPECT=< - 2 ---------- NONE FIELD Hello who - 3 ---------- NONE FIELD java.lang.System out - 5 ---------- NONE METH java.lang.StringBuilder - 7 ---------- NONE METH java.lang.StringBuilder append - 8 ---------- NONE METH java.lang.StringBuilder toString - 9 ---------- NONE METH java.io.PrintStream println - 12 ---------- NONE METH Hello - 13 ---------- NONE METH Hello say -EOF -RUN - - -NAME=Java list imports HiKt.class -FILE=bins/java/HiKt.class -CMDS=ii -EXPECT=< - 3 ---------- NONE METH java.lang.StringBuilder - 4 ---------- NONE METH java.lang.StringBuilder append - 6 ---------- NONE METH java.lang.StringBuilder toString - 7 ---------- NONE METH java.lang.Runtime getRuntime - 8 ---------- NONE METH java.lang.Runtime exec - 11 ---------- NONE METH java.lang.Process getInputStream - 12 ---------- NONE METH java.io.InputStreamReader - 13 ---------- NONE METH java.io.BufferedReader - 14 ---------- NONE METH java.io.BufferedReader readLine - 15 ---------- NONE METH java.lang.String trim -EOF -RUN - - -NAME=Java list imports MainActivity.class -FILE=bins/java/MainActivity.class -CMDS=ii -EXPECT=< - 2 ---------- NONE FIELD java.lang.System out - 4 ---------- NONE METH java.io.PrintStream println - 8 ---------- NONE METH java.io.FileReader - 9 ---------- NONE METH java.io.BufferedReader - 10 ---------- NONE METH java.io.BufferedReader readLine - 12 ---------- NONE METH java.lang.StringBuilder - 14 ---------- NONE METH java.lang.StringBuilder append - 15 ---------- NONE METH java.lang.StringBuilder toString - 16 ---------- NONE METH java.io.BufferedReader close - 18 ---------- NONE FIELD java.lang.System err - 21 ---------- NONE METH java.io.PrintStream format - 22 ---------- NONE METH java.lang.Exception printStackTrace -EOF -RUN - - -NAME=Java list imports sjybq.class -FILE=bins/java/sjybq.class -CMDS=ii -EXPECT=< - 17 ---------- NONE METH test $getCallSiteArray - 22 ---------- NONE METH groovy.lang.Script - 35 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call - 55 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callConstructor - 61 ---------- NONE METH org.codehaus.groovy.runtime.ScriptBytecodeAdapter createMap - 67 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call - 71 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callCurrent - 79 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite callGetProperty - 92 ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite call -100 ---------- NONE METH java.lang.Object getClass -104 ---------- NONE METH org.codehaus.groovy.runtime.ScriptBytecodeAdapter initMetaClass -106 ---------- NONE FIELD test $staticClassInfo -112 ---------- NONE METH org.codehaus.groovy.reflection.ClassInfo getClassInfo -115 ---------- NONE METH org.codehaus.groovy.reflection.ClassInfo getMetaClass -147 ---------- NONE METH test $createCallSiteArray_1 -152 ---------- NONE METH org.codehaus.groovy.runtime.callsite.CallSiteArray -154 ---------- NONE FIELD test $callSiteArray -159 ---------- NONE METH java.lang.ref.SoftReference get -161 ---------- NONE METH test $createCallSiteArray -164 ---------- NONE METH java.lang.ref.SoftReference -168 ---------- NONE FIELD org.codehaus.groovy.runtime.callsite.CallSiteArray array -EOF -RUN - - -NAME=Java list imports TryWithResources.class -FILE=bins/java/TryWithResources.class -CMDS=ii -EXPECT=< - 3 ---------- NONE METH java.lang.RuntimeException - 4 ---------- NONE FIELD java.lang.System out - 6 ---------- NONE METH java.lang.StringBuilder - 8 ---------- NONE METH java.lang.StringBuilder append - 9 ---------- NONE METH java.lang.StringBuilder append - 10 ---------- NONE METH java.lang.StringBuilder toString - 11 ---------- NONE METH java.io.PrintStream println - 12 ---------- NONE FIELD TryWithResources i - 14 ---------- NONE METH java.io.PrintStream println - 15 ---------- NONE FIELD TryWithResources $ - 17 ---------- GLOBAL FUNC TryWithResources main - 19 ---------- NONE METH TryWithResources $ - 20 ---------- NONE METH java.io.PrintStream println - 21 ---------- NONE METH TryWithResources $ - 22 ---------- NONE METH TryWithResources close - 24 ---------- NONE METH java.lang.Throwable addSuppressed - 25 ---------- NONE METH TryWithResources $ - 26 ---------- NONE IMETH java.lang.AutoCloseable close - 27 ---------- NONE METH java.lang.Throwable printStackTrace - 0 ---------- WEAK IFACE java.lang.AutoCloseable * -EOF -RUN - - -NAME=Java list sections crash2.class -FILE=bins/java/crash2.class -CMDS=iS -EXPECT=< $relocs cat $relocs~? cat $relocs~0x00010~? @@ -149,8 +73,80 @@ cat $relocs~0x0004c~? cat $relocs~0x0004d~? cat $relocs~0x0004e~? cat $relocs~0x0004f~? +echo --- +aac +# aaef +aflc +echo --- +s +echo --- +pi 1 EOF EXPECT=< $relocs +cat $relocs~? +cat $relocs~GNUREGEX~? +cat $relocs~EMXLIBC~? +cat $relocs~emx~? +EOF EXPECT=< $relocs -cat $relocs~? -cat $relocs~GNUREGEX~? -cat $relocs~EMXLIBC~? -cat $relocs~emx~? -EOF -EXPECT=<