Awesome! I can now attach GDB to UE4! The backtrace that I get at the segmentation fault looks like
0x00007f098321cf85 in FEDLBootNotificationManager::NotifyRegistrationEvent (this=0x7f0983656430 <GetGEDLBootNotificationManager()::Singleton>,
PackageName=<optimized out>, Name=<optimized out>, NotifyRegistrationType=<optimized out>, NotifyRegistrationPhase=<optimized out>, InRegister=0x0,
InbDynamic=<optimized out>) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp:754
#1 0x00007f098320c4cc in NotifyRegistrationEvent (PackageName=0x7f0928a9998a u"/Script/BlueprintContext", Name=0x7f0928a99960 u"BlueprintContextBase",
NotifyRegistrationType=ENotifyRegistrationType::NRT_Class, NotifyRegistrationPhase=ENotifyRegistrationPhase::NRP_Started, InRegister=0x0,
InbDynamic=false) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp:7466
#2 0x00007f0983265250 in InitializePrivateStaticClass (TClass_Super_StaticClass=0x7f096a6f0d80, TClass_PrivateStaticClass=0x7f0935de3800,
TClass_WithinClass_StaticClass=0x7f096a948080, PackageName=0x7f0928a9998a u"/Script/BlueprintContext", Name=0x7f0928a99960 u"BlueprintContextBase")
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:82
#3 0x00007f098326759c in GetPrivateStaticClassBody (PackageName=0x7f0928a9998a u"/Script/BlueprintContext", Name=0x7f0928a99960 u"BlueprintContextBase",
ReturnClass=@0x7f0928aaa4c8: 0x7f0935de3800, RegisterNativeFunc=<optimized out>, InSize=<optimized out>, InClassFlags=<optimized out>,
InClassCastFlags=<optimized out>, InConfigName=<optimized out>, InClassConstructor=<optimized out>, InClassVTableHelperCtorCaller=<optimized out>,
InClassAddReferencedObjects=<optimized out>, InSuperClassFn=<optimized out>, InWithinClassFn=<optimized out>, bIsDynamic=<optimized out>)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4561
#4 0x00007f0928a92456 in UBlueprintContextBase::GetPrivateStaticClass ()
at /home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/BlueprintContext/BlueprintContextBase.gen.cpp:89
#5 UBlueprintContextBase::StaticClass ()
at /home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Source/BlueprintContext/Public/BlueprintContextBase.h:16
#6 0x00007f098326757e in GetPrivateStaticClassBody (PackageName=0x7f0928a9998a u"/Script/BlueprintContext", Name=0x7f0928a99a14 u"MatchmakingContext",
ReturnClass=@0x7f0928aaa5d0: 0x7f0935de3a80, RegisterNativeFunc=<optimized out>, InSize=<optimized out>, InClassFlags=<optimized out>,
InClassCastFlags=<optimized out>, InConfigName=<optimized out>, InClassConstructor=<optimized out>, InClassVTableHelperCtorCaller=<optimized out>,
InClassAddReferencedObjects=<optimized out>, InSuperClassFn=<optimized out>, InWithinClassFn=<optimized out>, bIsDynamic=<optimized out>)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4562
#7 0x00007f0928a91ca6 in UMatchmakingContext::GetPrivateStaticClass ()
at /home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/BlueprintContext/MatchmakingContext.gen.cpp:215
#8 0x00007f0928a7e399 in _GLOBAL__sub_I_Module.BlueprintContext.cpp ()
at /home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Source/BlueprintContext/Public/MatchmakingContext.h:21
#9 0x00007f09848e66ca in call_init (l=<optimized out>, argc=argc@entry=12, argv=argv@entry=0x7ffdb8e26188, env=env@entry=0x132bdd0) at dl-init.c:72
#10 0x00007f09848e67db in call_init (env=0x132bdd0, argv=0x7ffdb8e26188, argc=12, l=<optimized out>) at dl-init.c:30
#11 _dl_init (main_map=main_map@entry=0x150dd00, argc=12, argv=0x7ffdb8e26188, env=0x132bdd0) at dl-init.c:120
#12 0x00007f09848eb8f2 in dl_open_worker (a=a@entry=0x7ffdb8e25120) at dl-open.c:575
#13 0x00007f09848e6574 in _dl_catch_error (objname=objname@entry=0x7ffdb8e25110, errstring=errstring@entry=0x7ffdb8e25118,
mallocedp=mallocedp@entry=0x7ffdb8e2510f, operate=operate@entry=0x7f09848eb4e0 <dl_open_worker>, args=args@entry=0x7ffdb8e25120) at dl-error.c:187
#14 0x00007f09848eadb9 in _dl_open (
file=0x7ffdb8e253e0 "/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Binaries/Linux/libUE4Editor-UnrealTournament.so", mode=-2147483647,
caller_dlopen=0x7f0983dc7b6a <FUnixPlatformProcess::GetDllHandle(char16_t const*)+282>, nsid=-2, argc=<optimized out>, argv=<optimized out>,
env=0x132bdd0) at dl-open.c:660
#15 0x00007f09844b5f09 in dlopen_doit (a=a@entry=0x7ffdb8e25350) at dlopen.c:66
#16 0x00007f09848e6574 in _dl_catch_error (objname=0x132d470, errstring=0x132d478, mallocedp=0x132d468, operate=0x7f09844b5eb0 <dlopen_doit>,
args=0x7ffdb8e25350) at dl-error.c:187
#17 0x00007f09844b6571 in _dlerror_run (operate=operate@entry=0x7f09844b5eb0 <dlopen_doit>, args=args@entry=0x7ffdb8e25350) at dlerror.c:163
#18 0x00007f09844b5fa1 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
---Type <return> to continue, or q <return> to quit---
#19 0x00007f0983dc7b6a in FUnixPlatformProcess::GetDllHandle (Filename=0x7f093e7ac900 u"/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Binaries/Linux/libUE4Editor-UnrealTournament.so")
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Unix/UnixPlatformProcess.cpp:53
#20 0x00007f0983c13ab8 in FModuleManager::LoadModuleWithFailureReason (this=<optimized out>, InModuleName=..., OutFailureReason=<optimized out>)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Modules/ModuleManager.cpp:511
#21 0x00007f09849687f2 in FModuleDescriptor::LoadModulesForPhase (LoadingPhase=ELoadingPhase::Default, Modules={...}, ModuleLoadErrors=empty)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Projects/Private/ModuleDescriptor.cpp:595
#22 0x00007f0984981254 in FProjectManager::LoadModulesForProject (this=<optimized out>, LoadingPhase=<optimized out>)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Projects/Private/ProjectManager.cpp:61
#23 0x00000000002508b1 in FEngineLoop::LoadStartupModules (this=<optimized out>) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:3135
#24 0x00000000002359a9 in FEngineLoop::PreInit (this=<optimized out>, CmdLine=<optimized out>) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:2536
#25 0x0000000000249ab2 in EnginePreInit (CmdLine=<optimized out>) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:42
#26 GuardedMain (
CmdLine=0x7f096a623880 u" /home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/UnrealTournament.uproject -run=Cook -TargetPlatform=LinuxNoEditor -fileopenlog -unversioned -abslog=/home/the_cowboy/unrealworks/UnrealEng"...) at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:129
#27 0x00007f0979eee149 in CommonUnixMain (argc=<optimized out>, argv=0x7ffdb8e26188, RealMain=0x249a60 <GuardedMain(char16_t const*)>)
at /home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:243
#28 0x00007f097962f830 in __libc_start_main (main=0x251e40 <main(int, char**)>, argc=12, argv=0x7ffdb8e26188, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdb8e26178)
at ../csu/libc-start.c:291
#29 0x0000000000231029 in _start ()
I was wondering the right way to resolve addresses into symbol name. If it were a c++ project, I’d use “-g”. For the Engine, I tried “Linux Debug” for compiling and got above. So does it mean something else? Or the addresses are already resolved?