Tips for diagnosing crash stacks

Am I looking for those lines that end with + 0 bytes?
Not necessarily the first line is the cause but what follows?
Here’s my crash stack, any tips for self diag would be most helpful.

Fatal error!

VERSION: 236.2
ShooterGame.exe!UPrimalItem::GetCraftingResourceRequirement() (0x00007ff7be809b54) + 650 bytes [c:\svn_ark\projects\shootergame\source\shootergame\private\primalitem.cpp:3926]
ShooterGame.exe!UPrimalItem::InitializeItem() (0x00007ff7be7f4f6a) + 10 bytes [c:\svn_ark\projects\shootergame\source\shootergame\private\primalitem.cpp:2406]
ShooterGame.exe!UPrimalItem::AddToInventory() (0x00007ff7be7e38cb) + 0 bytes [c:\svn_ark\projects\shootergame\source\shootergame\private\primalitem.cpp:540]
ShooterGame.exe!UPrimalInventoryComponent::AddItem() (0x00007ff7be7c4bca) + 0 bytes [c:\svn_ark\projects\shootergame\source\shootergame\private\primalinventorycomponent.cpp:176]
ShooterGame.exe!UPrimalItem::AddNewItem() (0x00007ff7be7e64ba) + 41 bytes [c:\svn_ark\projects\shootergame\source\shootergame\private\primalitem.cpp:801]
ShooterGame.exe!UPrimalItem::execAddNewItem() (0x00007ff7bed7c227) + 711 bytes [c:\svn_ark\projects\shootergame\source\shootergame\classes\primalitem.h:487]
ShooterGame.exe!UFunction::Invoke() (0x00007ff7bee92aac) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\class.cpp:3697]
ShooterGame.exe!UObject::CallFunction() (0x00007ff7beedec92) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:399]
ShooterGame.exe!UObject::ProcessContextOpcode() (0x00007ff7beee1f96) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1407]
ShooterGame.exe!UObject::execLetObj() (0x00007ff7beee1987) + 26 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1246]
ShooterGame.exe!UObject::ProcessInternal() (0x00007ff7beedf2bf) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:594]
ShooterGame.exe!UFunction::Invoke() (0x00007ff7bee92aac) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\class.cpp:3697]
ShooterGame.exe!UObject::ProcessEvent() (0x00007ff7beee0408) + 0 bytes [c:\svn_ark\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:907]
ShooterGame.exe!AActor::ProcessEvent() (0x00007ff7bf4f55bf) + 0 bytes [c:\svn_ark\engine\source\runtime\engine\private\actor.cpp:591]
ShooterGame.exe!FLatentActionManager::TickLatentActionForObject() (0x00007ff7bf69d382) + 0 bytes [c:\svn_ark\engine\source\runtime\engine\private\latentactionmanager.cpp:130]
ShooterGame.exe!FLatentActionManager::ProcessLatentActions() (0x00007ff7bf69cccb) + 0 bytes [c:\svn_ark\engine\source\runtime\engine\private\latentactionmanager.cpp:74]
ShooterGame.exe!UWorld::Tick() (0x00007ff7bf6ad533) + 0 bytes [c:\svn_ark\engine\source\runtime\engine\private\leveltick.cpp:1260]
ShooterGame.exe!UGameEngine::Tick() (0x00007ff7bf5dcc5c) + 0 bytes [c:\svn_ark\engine\source\runtime\engine\private\gameengine.cpp:951]
ShooterGame.exe!FEngineLoop::Tick() (0x00007ff7be6a9a69) + 0 bytes [c:\svn_ark\engine\source\runtime\launch\private\launchengineloop.cpp:2344]
ShooterGame.exe!GuardedMain() (0x00007ff7be6a409c) + 0 bytes [c:\svn_ark\engine\source\runtime\launch\private\launch.cpp:140]
ShooterGame.exe!GuardedMainWrapper() (0x00007ff7be6aaf4a) + 5 bytes [c:\svn_ark\engine\source\runtime\launch\private\windows\launchwindows.cpp:125]
ShooterGame.exe!WinMain() (0x00007ff7be6ab078) + 8 bytes [c:\svn_ark\engine\source\runtime\launch\private\windows\launchwindows.cpp:209]
ShooterGame.exe!__tmainCRTStartup() (0x00007ff7c074e991) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
KERNEL32.DLL!UnknownFunction (0x00007ff897a38102) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ff898c4c574) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ff898c4c574) + 0 bytes [UnknownFile:0]

Hello Samson,

A callstack is typically read from bottom to top. This means that the most recently called function would appear at the top. What you would want to do is work backwards to see where the last successful call was made, and this could help you determine where the issue lies in your project.

Have a great day

Is + 0 bytes the notification of an unsuccessful function or is just the one thats at the top of this callstack?

Take a look at this article: https://www.quora.com/How-do-I-debug-stack-trace-dumps-in-C++

It provides some valuable information on debugging these sort of callstacks, and might be helpful to you. Keep in mind that when your editor is crashing, you can also pull information from the logs located in your project’s Saved->Logs directory. These logs often contain a bit more useful information than the callstack itself, so I highly recommend looking at the logs if you are looking to debug a crash in your project that is potentially caused by code errors.

Have a great day