forked from OSchip/llvm-project
![]() To build complex binding upon instruction trace, additional metadata 'instruction type' is needed. This diff has followings: - Add a flag -k / --kind for instruction dump - Remove SetGranularity and SetIgnoreErros from Trace cursor Sample output: ``` (lldb) thread trace dump instruction -k thread #1: tid = 3198805 libc.so.6`_IO_puts + 356 2107: 0x00007ffff7163594 ( return) retq 2106: 0x00007ffff7163592 ( other) popq %r13 2105: 0x00007ffff7163590 ( other) popq %r12 2104: 0x00007ffff716358f ( other) popq %rbp 2103: 0x00007ffff716358e ( other) popq %rbx 2102: 0x00007ffff716358c ( other) movl %ebx, %eax 2101: 0x00007ffff7163588 ( other) addq $0x8, %rsp 2100: 0x00007ffff7163570 ( cond jump) je 0x89588 ; <+344> 2099: 0x00007ffff716356e ( other) decl (%rdx) 2098: 0x00007ffff7163565 ( cond jump) je 0x8956e ; <+318> 2097: 0x00007ffff716355e ( other) cmpl $0x0, 0x33c02b(%rip) ; __libc_multiple_threads 2096: 0x00007ffff7163556 ( other) movq $0x0, 0x8(%rdx) 2095: 0x00007ffff7163554 ( cond jump) jne 0x89588 ; <+344> 2094: 0x00007ffff7163550 ( other) subl $0x1, 0x4(%rdx) 2093: 0x00007ffff7163549 ( other) movq 0x88(%rbp), %rdx 2092: 0x00007ffff7163547 ( cond jump) jne 0x89588 ; <+344> 2091: 0x00007ffff7163540 ( other) testl $0x8000, (%rbp) ; imm = 0x8000 2090: 0x00007ffff716353c ( other) cmovaq %rax, %rbx 2089: 0x00007ffff7163535 ( other) cmpq $0x7fffffff, %rbx ; imm = 0x7FFFFFFF 2088: 0x00007ffff7163530 ( other) movl $0x7fffffff, %eax ; imm = 0x7FFFFFFF ``` Reviewed By: wallace Differential Revision: https://reviews.llvm.org/D128477 |
||
---|---|---|
.. | ||
Address.cpp | ||
AddressRange.cpp | ||
AddressResolver.cpp | ||
AddressResolverFileLine.cpp | ||
CMakeLists.txt | ||
Communication.cpp | ||
CoreProperties.td | ||
DataFileCache.cpp | ||
Debugger.cpp | ||
DebuggerEvents.cpp | ||
Declaration.cpp | ||
Disassembler.cpp | ||
DumpDataExtractor.cpp | ||
DumpRegisterValue.cpp | ||
DynamicLoader.cpp | ||
EmulateInstruction.cpp | ||
FileLineResolver.cpp | ||
FileSpecList.cpp | ||
FormatEntity.cpp | ||
Highlighter.cpp | ||
IOHandler.cpp | ||
IOHandlerCursesGUI.cpp | ||
Mangled.cpp | ||
Module.cpp | ||
ModuleChild.cpp | ||
ModuleList.cpp | ||
Opcode.cpp | ||
PluginManager.cpp | ||
Progress.cpp | ||
RichManglingContext.cpp | ||
SearchFilter.cpp | ||
Section.cpp | ||
SourceLocationSpec.cpp | ||
SourceManager.cpp | ||
StreamAsynchronousIO.cpp | ||
StreamFile.cpp | ||
UserSettingsController.cpp | ||
Value.cpp | ||
ValueObject.cpp | ||
ValueObjectCast.cpp | ||
ValueObjectChild.cpp | ||
ValueObjectConstResult.cpp | ||
ValueObjectConstResultCast.cpp | ||
ValueObjectConstResultChild.cpp | ||
ValueObjectConstResultImpl.cpp | ||
ValueObjectDynamicValue.cpp | ||
ValueObjectList.cpp | ||
ValueObjectMemory.cpp | ||
ValueObjectRegister.cpp | ||
ValueObjectSyntheticFilter.cpp | ||
ValueObjectUpdater.cpp | ||
ValueObjectVariable.cpp |