144 lines · yaml
1# REQUIRES: x862 3# RUN: mkdir -p %t.dir4# RUN: yaml2obj --docnum=1 -DMAIN_SIZE=8 %s -o %t.dir/command-disassemble-process.exe5# RUN: yaml2obj --docnum=1 -DMAIN_SIZE=8000 %s -o %t.dir/command-disassemble-process.big.exe6# RUN: yaml2obj --docnum=2 %s -o %t7 8# RUN: %lldb -c %t %t.dir/command-disassemble-process.exe \9# RUN: -o "settings set interpreter.stop-command-source-on-error false" \10# RUN: -s %S/Inputs/command-disassemble-process.lldbinit -o exit \11# RUN: | FileCheck %s12 13# RUN: %lldb -c %t %t.dir/command-disassemble-process.big.exe \14# RUN: -o "settings set stop-disassembly-max-size 8000" \15# RUN: -o disassemble -o exit 2>&1 | FileCheck %s --check-prefix=BIG16 17# RUN: %lldb -c %t %t.dir/command-disassemble-process.exe \18# RUN: -o "settings set interpreter.stop-command-source-on-error false" \19# RUN: -o "disassemble --address 0xdead" -o exit 2>&1 \20# RUN: | FileCheck %s --check-prefix=INVALID21 22# CHECK: (lldb) disassemble23# CHECK-NEXT: command-disassemble-process.exe`main:24# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>25# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)26# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)27# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)28# CHECK-NEXT: (lldb) disassemble --line29# CHECK-NEXT: command-disassemble-process.exe`main:30# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)31# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)32# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)33# CHECK-NEXT: 0x400a: addb %al, (%rdi)34# CHECK-NEXT: (lldb) disassemble --frame35# CHECK-NEXT: command-disassemble-process.exe`main:36# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>37# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)38# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)39# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)40# CHECK-NEXT: (lldb) disassemble --pc41# CHECK-NEXT: command-disassemble-process.exe`main:42# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)43# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)44# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)45# CHECK-NEXT: 0x400a: addb %al, (%rdi)46# CHECK-NEXT: (lldb) disassemble --address 0x400447# CHECK-NEXT: command-disassemble-process.exe`main:48# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>49# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)50# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)51# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)52# CHECK-NEXT: (lldb) disassemble --count 753# CHECK-NEXT: command-disassemble-process.exe`main:54# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>55# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)56# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)57# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)58# CHECK-NEXT: 0x400a: addb %al, (%rdi)59# CHECK-NEXT: 0x400c: addb %cl, (%rax)60# CHECK-NEXT: 0x400e: addb %cl, (%rcx)61# CHECK-NEXT: (lldb) disassemble --pc --count 762# CHECK-NEXT: command-disassemble-process.exe`main:63# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)64# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)65# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)66# CHECK-NEXT: 0x400a: addb %al, (%rdi)67# CHECK-NEXT: 0x400c: addb %cl, (%rax)68# CHECK-NEXT: 0x400e: addb %cl, (%rcx)69# CHECK-NEXT: 0x4010: addb %cl, (%rdx)70 71# INVALID: error: Could not find function bounds for address 0xdead72 73# BIG: error: Not disassembling the current function because it is very large [0x0000000000004002-0x0000000000005f42). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.74 75--- !ELF76FileHeader: 77 Class: ELFCLASS6478 Data: ELFDATA2LSB79 Type: ET_EXEC80 Machine: EM_X86_6481Sections: 82 - Name: .text83 Type: SHT_PROGBITS84 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]85 Address: 0x000000000000000086 AddressAlign: 0x000000000000100087 Content: 0000EB00000200030006000700080009000A000B000E000F00100011001200130016001700180019001A001B001E001F00200021002200230026002700280029002A002B002E002F88 Size: 0x1000089 - Name: .note.gnu.build-id90 Type: SHT_NOTE91 Flags: [ SHF_ALLOC ]92 Address: 0x000000000000100093 AddressAlign: 0x000000000000100094 Content: 040000000800000003000000474E5500DEADBEEFBAADF00D95Symbols:96 - Name: main97 Type: STT_FUNC98 Section: .text99 Value: 0x0000000000000002100 Size: [[MAIN_SIZE]]101ProgramHeaders:102 - Type: PT_LOAD103 Flags: [ PF_X, PF_R ]104 VAddr: 0x0000105 Align: 0x1000106 FirstSec: .text107 LastSec: .text108 - Type: PT_LOAD109 Flags: [ PF_W, PF_R ]110 VAddr: 0x1000111 Align: 0x1000112 FirstSec: .note.gnu.build-id113 LastSec: .note.gnu.build-id114...115 116--- !minidump117Streams:118 - Type: ModuleList119 Modules:120 - Base of Image: 0x0000000000004000121 Size of Image: 0x00002000122 Module Name: 'command-disassemble-process.yaml'123 CodeView Record: 4C457042DEADBEEFBAADF00D124 125 - Type: SystemInfo126 Processor Arch: AMD64127 Platform ID: Linux128 CPU:129 Vendor ID: GenuineIntel130 Version Info: 0x00000000131 Feature Info: 0x00000000132 - Type: ThreadList133 Threads: 134 - Thread Id: 0x000074F3135 Context: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B001000000000006CAE000000006B7FC05A0000C81D415A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2BF9E5A6B7F0000000000000000000000000000000000008850C14BFD7F00009850C14BFD7F00000100000000000000B04AC14BFD7F0000000000000000000060812D01000000000800000000000000B065E05A6B7F00008004400000000000E050C14BFD7F00000000000000000000000000000000000004400000000000007F03FFFF0000FFFFFFFFFFFF000000000000000000000000801F00006B7F00000400000000000000B84CC14BFD7F0000304D405A6B7F0000C84DC14BFD7F0000C0AA405A6B7F00004F033D0000000000B84DC14BFD7F0000E84DC14BFD7F0000000000000000000000000000000000000070E05A6B7F000078629E5A6B7F0000C81D415A6B7F0000804F9E5A6B7F00000000000001000000E603000001000000E093115A6B7F0000804EC14BFD7F0000584EC14BFD7F000099ADC05A6B7F00000100000000000000AAAAD77D0000000002000000000000000800000000000000B065E05A6B7F0000E6B7C05A6B7F0000010000006B7F0000884DC14BFD7F0000106F7C5A6B7F0000984EC14BFD7F0000488B7C5A6B7F0000C4A71CB90000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F0000702AE25A6B7F0000D84DC14BFD7F000030489E5A6B7F0000E84EC14BFD7F0000E05E9E5A6B7F00000991F0460000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F00000100000000000000284EC14BFD7F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000136 Stack: 137 Start of Memory Range: 0x00007FFD4BC15080138 Content: 30044000000000000000000000000000139 - Type: MemoryList140 Memory Ranges: 141 - Start of Memory Range: 0x00007FFD4BC15080142 Content: 30044000000000000000000000000000143...144