Use the GDC 2021 Session Viewer to browse and sort the ever-growing list of sessions by pass type, topic, and format. You will be able to build your personal schedule directly within the event platform, once live early July 2021.
Artem Kovalovs (Graphics & Game Programmer, Naughty Dog, LLC)
Pass Type: All Access Pass, Core Pass
Vault Recording: TBD
Audience Level: N/A: I prefer to present live on-site but I am open to delivering a virtual presentation
This session describes new executable/core dump debugging tools developed at Naughty Dog and most recently used during production of The Last of Us Part II. These tools are built on top of Microsoft Visual Studio debugger and allow for a scriptable interface to process memory and debugging. Game engines are extremely complicated executables with many threads/jobs running in parallel, racing data accesses, passing pointers around, iterating through many collections of complex data, etc. Each crash or erroneous condition is a digital forensic mystery for the programmer.
This talk will describe the development and use of the debugging tools that make it easier for programmers to solve some of these mysteries. The tools allow us to script game specific conditions, analyze variables, parse memory, etc. with interactive and iterative python scripting. Case studies will be shown on where and how these tools were used to track down complex errors and memory stomps in crash dumps.
This session is meant to show the programming community a new way programs could be debugged. Concepts shown in the session will allow programmers to improve the development environments for their projects and sometimes save a lot of time tracking down complicated issues such as memory stomps.
This session is meant for programmers who work with lower level code such as C++ and spend time debugging complicated problems.