Engine Source Level Debugging

#1
I'd like to be able to step into engine DLL source code while debugging my game. What's the best way to go about this? I'm using 5.4 preview 7.

Here's what I've tried so far:

1. Looked for PDBs in 5.4 preview 7 release. Found none.
2. Looked for downloadable PDBs (Unreal Engine lets you do this). Found none.
3. Successfully built CryEngine from source using ALL_BUILD target on VS 2017 from commit 38a12e82 (which is tags/5.4.0_preview7). I then copied the built DLLs and EXEs to CRYENGINE_preview_5.4.0.151_pc\bin\win_x64. However, after I do that when I run Sandbox.exe by double clicking a .cryproject file, it crashes. Not immediately, the Sandbox loading window shows up and goes through several initialization steps, but eventually crashes. I attached to the crashed process and the message is "Unhandled exception at 0x00007FFF78B3775F (ntdll.dll) in Sandbox.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FFF78B986B0)." and the callstack only has frames from Sandbox.exe, ucrtbase.dll, and ntdll.dll, so I'm not sure which DLL it's choking on. Full stack below.
4. I tried building from source in #3 with and without GameZero. With GameZero, when I run WindowsLauncher, several Texture does not exist messages are logged, followed by a crash due to the system trying to indirect through a STextureLayout::m_pPixelFormat which is null because of the texture load failures. The texture load failures are below. The strange thing is that the textures do exist in CRYENGINE\Engine\EngineAssets\Textures, but not in dds format, which is what the low level pak code is looking for. Perhaps I'm missing a resource compiling step.

Here's the callstack I mentioned in #3 above:

Code: Select all

ntdll.dll!00007fff78b3775f()   Unknown   Non-user code. Cannot find or open the PDB file.
ntdll.dll!00007fff78b3df0a()   Unknown   Non-user code. Cannot find or open the PDB file.
ntdll.dll!00007fff78ae4f22()   Unknown   Non-user code. Cannot find or open the PDB file.
ntdll.dll!00007fff78af92dd()   Unknown   Non-user code. Cannot find or open the PDB file.
ucrtbase.dll!00007fff75c4c97b()   Unknown   Non-user code. Cannot find or open the PDB file.
Sandbox.exe!00007ff6f9b3c72e()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6f9b3dd39()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa34c0fb()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa3386ef()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa33f3c7()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6f9c4adef()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa54aa30()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6f9cbeeb6()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa796c94()   Unknown   No symbols loaded.
Sandbox.exe!00007ff6fa75f41b()   Unknown   No symbols loaded.


Here's the texture load failures:

Code: Select all

<11:07:48> Initializing CryFont done, MemUsage=448Kb
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/white.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/black.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/blackalpha.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/blackcm.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/greyalpha.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/shading/defaultprobe_cm.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/white_ddn.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/texelspermetergrad.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/icons/shadercompiling.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/icons/streaming.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/icons/streamingterrain.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/icons/navigationprocessing.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/shading/environmentbrdf.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/noise.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/screenspace/grain_bayer_mul.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/shading/vignetting.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/screenspace/pointsonsphere4x4.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/screenspace/pointsonspherevo4x4.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/textures/perlinnoise2d.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/replaceme.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/replacemecm.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/mipmapdebug.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_blue.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_cyan.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_green.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_purple.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_red.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_white.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_yellow.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_orange.dds]
<11:07:49> [Warning] Texture does not exist [File=%engine%/engineassets/texturemsg/color_magenta.dds]

Who is online

Users browsing this forum: No registered users and 0 guests