Debugging Game Systems (Practical Debugging)
Speakers: Benjamin Kenwright
Topic(s): Computer Systems,Game Development,Science & Computing,Software Engineering
The practical challenges of debugging large software projects (such as video games) is important – not just the ability to track down issues but to write software that makes the process as painless as possible. On average a commercial level game engine may have between 1-50 million lines of code - not including external assets (resources and scripts). The ability to quickly identify and solve problems using the available tools requires years of experience and insight. For example, taking advantages of the facilities within integrated development environments (IDEs) like Visual Studio might not be apparent (e.g., hardware breakpoints, debug output and custom asserts). The IDEs are more than glorified colour syntax highlighters. Typically, IDEs contains an abundance of tricks and abilities to make your life easy. Having a better understanding of these tools can help you produce more robust, computationally faster, and cleaner code. In addition, the tools allow you to debug and resolve existing implementations, e.g., runtime problems, more quickly and easily compared to traditional methods (e.g., analysing print outputs and log files). This lecture reviews:
• How to write more `robust’ software (in the context of video games)
• Defensive programming (asserts, sanity checks, ..)
• Common bugs (divide by zero, stack overflow, null pointers, ..)
• Debugging methodology
• Getting/storing information (printf, on-screen, logs, network, ..)
• IDE features (breakpoints, watch, assembly, memory, ..)
About this Lecture
Number of Slides: 22
Duration: 60 minutes
Languages Available: English
Last Updated: 05-19-2017
Request this Lecture
To request this particular lecture, please complete this online form.
Request a Tour
To request a tour with this speaker, please complete this online form.
All requests will be sent to ACM headquarters for review.