Created
June 21, 2020 06:25
-
-
Save jackoalan/e33c878c545c5b270e6f3da44ef57320 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(lldb)p MyClass::MyMember | |
== [UserExpression::Evaluate] Parsing expression MyClass::MyMember == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Language doesn't support C++ modules | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 0>" | |
MyClass::MyMember | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000020CDD94E300 'Expression ASTContext for '<user expressio | |
n 0>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000020CDD94E300 'Expression ASTContext for '<user expressio | |
n 0>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for 'MyClass' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000020CDD94E300 'Expression ASTContext for '<user expressio | |
n 0>'' for 'MyClass' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
CAS::FEVD Matching type found for "MyClass": MyClass | |
[ClangASTImporter] Imported (CXXRecordDecl*)0x0000020CDD98E4C8, named MyClass (from (Decl*)0x0000020CDD6B1418), met | |
adata 65620 | |
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000020CDC552080 | |
[ClangASTImporter] To is a TagDecl - attributes Lexical [complete->complete] | |
FindExternalLexicalDecls on (ASTContext*)0x0000020CDD94E300 'Expression ASTContext for '<user expression 0>'' in 'MyCla | |
ss' (%sDecl*)CXXRecord | |
FELD Original decl 0x0000020CDC552080 (Decl*)0x0000020cdd6b1418: | |
CXXRecordDecl 0x20cdd6b1418 <<invalid sloc>> <invalid sloc> struct MyClass definition | |
|-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_ | |
non_copy_move_ctor can_const_default_init | |
| |-DefaultConstructor exists trivial constexpr needs_implicit defaulted_is_constexpr | |
| |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param | |
| |-MoveConstructor exists simple trivial needs_implicit | |
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param | |
| |-MoveAssignment exists simple trivial needs_implicit | |
| `-Destructor simple irrelevant trivial needs_implicit | |
`-VarDecl 0x20cdd6b1558 <<invalid sloc>> <invalid sloc> MyMember 'const unsigned int' static cinit | |
`-IntegerLiteral 0x20cdd6b15c0 <<invalid sloc>> 'unsigned int' 16 | |
FELD Adding [to CXXRecordDecl MyClass] lexical VarDecl VarDecl 0x20cdd6b1558 <<invalid sloc>> <invalid sloc> MyMember | |
'const unsigned int' static cinit | |
`-IntegerLiteral 0x20cdd6b15c0 <<invalid sloc>> 'unsigned int' 16 | |
[ClangASTImporter] Imported (VarDecl*)0x0000020CDD98E620, named MyMember (from (Decl*)0x0000020CDD6B1558), metadata | |
18446744073709551615 | |
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000020CDC552080 | |
Last statement is an lvalue with type: const unsigned int | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is unknown | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4IB" = internal constant i32 16, align 4 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !9 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
ret void | |
} | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-cal | |
ls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-ma | |
th"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="tru | |
e" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-fl | |
oat"="false" } | |
!clang.global.decl.ptrs = !{!0, !1, !0} | |
!llvm.module.flags = !{!2, !3, !4, !5, !6, !7} | |
!llvm.ident = !{!8} | |
!0 = !{i32* @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4IB", i64 2254280648592} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2254280647680} | |
!2 = !{i32 1, !"Objective-C Version", i32 2} | |
!3 = !{i32 1, !"Objective-C Image Info Version", i32 0} | |
!4 = !{i32 1, !"Objective-C Image Info Section", !".objc_imageinfo$B"} | |
!5 = !{i32 1, !"Objective-C Garbage Collection", i8 0} | |
!6 = !{i32 1, !"Objective-C Class Properties", i32 64} | |
!7 = !{i32 1, !"wchar_size", i32 2} | |
!8 = !{!"clang version 11.0.0 (D:Usersjackollvm-project 5b8acd369b43e9d0b0db2be1904750aa5c78e31e)"} | |
!9 = !{i64 2254280647456} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4IB" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4IB" = internal constant i32 16, align 4" | |
Found result decl: "static const unsigned int $__lldb_expr_resultMyClass::MyMember" | |
Result decl type: "const unsigned int" | |
Creating a new result global: "$RESULT_NAME" with size 4 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4IB" = internal constant i32 16, align 4" with "@"$RESULT | |
_NAME" = external global i32" | |
Synthesized result store " store i32 16, i32* @"$RESULT_NAME", align 4" | |
[ClangASTImporter] DeportType called on (const unsigned intType*)0x0000020CDD9329B1 from (ASTContext*)0x0000020CDD9 | |
4E300 to (ASTContext*)0x0000020CDD8BD590 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x0000020CDD98E790 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i32) | |
Type of "$__lldb_expr_result" is [clang "const unsigned int *", llvm "i32**"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i32] | |
Total structure [align 8, size 8] | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000020CDD94E300 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000020CDD94E300->(ASTContext*)0x0000020CDD8BD590 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyHostOnly) -> 0x1eb34fa0000 | |
IRMemoryMap::Malloc (524295, 0x8, 0x3, eAllocationPolicyHostOnly) -> 0x1eb35130000 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x20cdb1cbb20, process_sp->CanJIT()=true, process_sp->IsAlive | |
()=true | |
IRMemoryMap::WriteMemory (0x1eb34fa0010, 0x20cdd67c300, 0x4) went to [0x1eb34fa0010..0x1eb34fa0017) | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyMirror) -> 0x1eb34fa0010 | |
IRMemoryMap::WriteMemory (0x1eb34fa0000, 0x574378be68, 0x8) went to [0x1eb34fa0000..0x1eb34fa000f) | |
Materializer::Materialize (frame_sp = 0000020CDB100970, process_address = 0x1eb34fa0000) materialized: | |
IRMemoryMap::ReadMemory (0x1eb34fa0000, 0x20cdd6c9630, 0x8) came from [0x1eb34fa0000..0x1eb34fa000f) | |
IRMemoryMap::ReadMemory (0x1eb34fa0010, 0x20cdd67ce00, 0x4) came from [0x1eb34fa0010..0x1eb34fa0017) | |
0x1eb34fa0000: EntityResultVariable | |
Pointer: | |
0x1eb34fa0000: 10 00 fa 34 eb 01 00 00 | |
Temporary allocation: | |
0x1eb34fa0000: 00 00 00 00 | |
Module as passed in to IRInterpreter::Interpret: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i32** | |
%2 = load i32*, i32** %1, align 8 | |
store i32 16, i32* %2, align 4 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !10 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
ret void | |
} | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-cal | |
ls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-ma | |
th"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="tru | |
e" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-fl | |
oat"="false" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8} | |
!llvm.ident = !{!9} | |
!0 = distinct !{null, i64 2254280648592} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2254280647680} | |
!2 = distinct !{null, i64 2254280648592} | |
!3 = !{i32 1, !"Objective-C Version", i32 2} | |
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0} | |
!5 = !{i32 1, !"Objective-C Image Info Section", !".objc_imageinfo$B"} | |
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0} | |
!7 = !{i32 1, !"Objective-C Class Properties", i32 64} | |
!8 = !{i32 1, !"wchar_size", i32 2} | |
!9 = !{!"clang version 11.0.0 (D:Usersjackollvm-project 5b8acd369b43e9d0b0db2be1904750aa5c78e31e)"} | |
!10 = !{i64 2254280647456} | |
" | |
IRMemoryMap::WriteMemory (0x1eb351afff8, 0x5743789d48, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Made an allocation for argument i8* %"$__lldb_arg" | |
Data region : 1eb34fa0000 | |
Ref region : 1eb351afff8 | |
Interpreting %0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
IRMemoryMap::WriteMemory (0x1eb351afff0, 0x20cdd6c8d70, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Interpreted a GetElementPtrInst | |
P : i8* %"$__lldb_arg" 0x1eb351afff8 | |
Poffset : %0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 0x1eb351afff0 | |
Interpreting %1 = bitcast i8* %0 to i32** | |
IRMemoryMap::WriteMemory (0x1eb351affe8, 0x20cdd6c8ff0, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Interpreting %2 = load i32*, i32** %1, align 8 | |
IRMemoryMap::ReadMemory (0x1eb351affe8, 0x20cdd6c91d0, 0x8) came from [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::ReadMemory (0x1eb34fa0000, 0x20cdd6c9450, 0x8) came from [0x1eb34fa0000..0x1eb34fa000f) | |
IRMemoryMap::WriteMemory (0x1eb351affe0, 0x20cdd6c9450, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Interpreted a LoadInst | |
P : 0x1eb351affe8 | |
R : 0x1eb34fa0000 | |
D : 0x1eb351affe0 | |
Interpreting store i32 16, i32* %2, align 4 | |
IRMemoryMap::WriteMemory (0x1eb351affdc, 0x20cdd67c600, 0x4) went to [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::ReadMemory (0x1eb351affe0, 0x20cdd6c9360, 0x8) came from [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::ReadMemory (0x1eb351affdc, 0x20cdd67d180, 0x4) came from [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::WriteMemory (0x1eb34fa0010, 0x20cdd67d180, 0x4) went to [0x1eb34fa0010..0x1eb34fa0017) | |
Interpreted a StoreInst | |
D : 0x1eb351affdc | |
P : 0x1eb351affe0 | |
R : 0x1eb34fa0010 | |
Interpreting %"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !10 | |
IRMemoryMap::WriteMemory (0x1eb351affc8, 0x5743789e98, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Interpreted an AllocaInst | |
R : 0x1eb351affd0 | |
P : 0x1eb351affc8 | |
Interpreting store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
IRMemoryMap::ReadMemory (0x1eb351affc8, 0x20cdd6c9f90, 0x8) came from [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::ReadMemory (0x1eb351afff8, 0x20cdd6c9fe0, 0x8) came from [0x1eb35130000..0x1eb351b0007) | |
IRMemoryMap::WriteMemory (0x1eb351affd0, 0x20cdd6c9fe0, 0x8) went to [0x1eb35130000..0x1eb351b0007) | |
Interpreted a StoreInst | |
D : 0x1eb351afff8 | |
P : 0x1eb351affc8 | |
R : 0x1eb351affd0 | |
Interpreting ret void | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 0000020CDB100970, process_address = 0x1eb34fa0000) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1eb34fa0000, 0x20cdd6c97c0, 0x8) came from [0x1eb34fa0000..0x1eb34fa000f) | |
IRMemoryMap::ReadMemory (0x1eb34fa0010, 0x20cdd67d1c0, 0x4) came from [0x1eb34fa0010..0x1eb34fa0017) | |
0x1eb34fa0000: EntityResultVariable | |
Pointer: | |
0x1eb34fa0000: 10 00 fa 34 eb 01 00 00 | |
Temporary allocation: | |
0x1eb34fa0000: 10 00 00 00 | |
IRMemoryMap::ReadMemory (0x1eb34fa0000, 0x20cdd6c8230, 0x8) came from [0x1eb34fa0000..0x1eb34fa000f) | |
IRMemoryMap::ReadMemory (0x1eb34fa0010, 0x20cdd67d140, 0x4) came from [0x1eb34fa0010..0x1eb34fa0017) | |
IRMemoryMap::Free (0x1eb34fa0010) freed [0x1eb34fa0010..0x1eb34fa0017) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1eb34fa0000) freed [0x1eb34fa0000..0x1eb34fa000f) | |
IRMemoryMap::Free (0x1eb35130000) freed [0x1eb35130000..0x1eb351b0007) | |
(const unsigned int) $0 = 16 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment