llvm-project/lldb/source/API
Walter Erquinigo ad7bcda940 [trace] Add a flag to the decoder to output the instruction type
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
2022-07-12 16:23:03 -07:00
..
CMakeLists.txt [lldb] Remove the requirement for windows clients to specify -DIMPORT_LIBLLDB 2022-01-19 12:49:47 +01:00
SBAddress.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBAttachInfo.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBlock.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpoint.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointLocation.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointName.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointOptionCommon.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointOptionCommon.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
SBBroadcaster.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
SBCommandInterpreter.cpp Have CommandObjectParsed check for "commands that take no arguments". 2022-06-27 15:14:41 -07:00
SBCommandInterpreterRunOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCommandReturnObject.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCommunication.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCompileUnit.cpp [lldb/API] Turn SBCompileUnit::GetIndexForLineEntry into FindLineEntryIndex (NFC) 2022-05-13 18:33:05 -07:00
SBData.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBDebugger.cpp [lldb] Add support for specifying a log handler 2022-06-24 18:24:00 -07:00
SBDeclaration.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBEnvironment.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBError.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBEvent.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBExecutionContext.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBExpressionOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFile.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFileSpec.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFileSpecList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFrame.cpp [lldb] Remove usages of case-insensitive c-string functions 2022-03-29 17:59:17 +02:00
SBFunction.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBHostOS.cpp [lldb] Modernize ThreadLauncher 2022-02-23 14:25:59 +01:00
SBInstruction.cpp [trace] Add a flag to the decoder to output the instruction type 2022-07-12 16:23:03 -07:00
SBInstructionList.cpp [trace] Add a flag to the decoder to output the instruction type 2022-07-12 16:23:03 -07:00
SBLanguageRuntime.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBLaunchInfo.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBLineEntry.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBListener.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
SBMemoryRegionInfo.cpp [lld] Don't use Optional::hasValue (NFC) 2022-06-26 19:29:40 -07:00
SBMemoryRegionInfoList.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBModule.cpp [lldb] Use value_or instead of getValueOr (NFC) 2022-06-19 09:12:01 -07:00
SBModuleSpec.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBPlatform.cpp [lldb] Use value_or instead of getValueOr (NFC) 2022-06-19 09:12:01 -07:00
SBProcess.cpp Pass plugin_name in SBProcess::SaveCore 2022-06-09 16:29:50 +02:00
SBProcessInfo.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBQueue.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBQueueItem.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBReproducer.cpp [lldb] Remove FileSystem::Initialize from FileCollector 2022-03-03 13:22:38 -08:00
SBSection.cpp [lldb] add SBSection.alignment to python bindings 2022-07-12 12:18:38 +02:00
SBSourceManager.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBStream.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
SBStringList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBStructuredData.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbol.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbolContext.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbolContextList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTarget.cpp Don't report memory return values on MacOS_arm64 of SysV_arm64 ABI's. 2022-03-14 15:25:40 -07:00
SBThread.cpp [lldb] [gdb-remote] Support getting siginfo via API 2022-01-28 17:47:47 +01:00
SBThreadCollection.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBThreadPlan.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTrace.cpp Add LoadTraceFromFile to SBDebugger and SBTrace 2022-06-20 11:54:47 -07:00
SBType.cpp [lldb] Add SBType::IsAggregateType 2022-03-09 08:33:08 -08:00
SBTypeCategory.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeEnumMember.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeFilter.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeFormat.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeNameSpecifier.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeSummary.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeSynthetic.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBUnixSignals.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBValue.cpp [lldb] Use value_or instead of getValueOr (NFC) 2022-06-19 09:12:01 -07:00
SBValueList.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBVariablesOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBWatchpoint.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SystemInitializerFull.cpp [lldb] Use nullptr instead of 0 or NULL (NFC) 2022-01-01 11:54:25 -08:00
SystemInitializerFull.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
Utils.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
liblldb-private.exports [lldb/lua] Supplement Lua bindings for lldb module 2021-10-12 22:10:21 +08:00
liblldb.exports [lldb/lua] Supplement Lua bindings for lldb module 2021-10-12 22:10:21 +08:00