[{quoted}](name=The Yetii Rider,realm=NA,application-id=3ErqAdtq,discussion-id=G3fUvBOG,comment-id=000c0002,timestamp=2017-11-29T18:36:45.607+0000)
What's it like to debug a game constantly, anyway? Are you searching through tens of thousands of lines of code for the one spot where there's a mistake, or is it more organized and manageable?
Hmm, less "or", more "and". A lot of tech/code debugging is searching through tens of millions of lines of code for the N number of spots where there's mistakes in an, ideally, organized and manageable way.
Debugging techniques are generally specific to whatever programming languages, tech base, and so on that you use. There's a few that's commonly shared among many development environments though, like stepping through running code or data inspection.
But rather than try to explain... I can show you! (Assuming you're using Chrome and not on a mobile. These steps will be different for different browsers):
IN THIS PAGE, the one that you're reading, hit F12. This opens the debugging tools in Chrome.
Now click the 'Console' tab at the top of the large thing that popped up. Find the input area, and type in:
Riot
Then press enter.
There is now an entire data object you can explore around, and even change things if you wish (its all local and any changes you do can be undone by refreshing the page).
Each part of this object can be opened and looked at individually. Or you can type out the address to that, from Riot. Type in:
Riot.DDragon.models.champion.data.Ahri
Then press enter.
You'll see some data specific to Ahri.
This is data inspection. This type of tool lets you look at what state / memory is in, and figure out any inconsistencies near where your problem might be.
Now lets swap to the 'Sources' tab. In here, you can explore the data structures and code that makes up the webpage we're on.
Press F8. You're now stepping through code as it runs.
Press F10. Each time you press F10, you step to the next operation. You can see exactly which piece of code is running with each step, as well as how data changes as you step through it in the various boxes you see below.
The code you see here is different from what we see (the webpage code has been compressed to the point of being practically unreadable), but this is the basic idea of what ONE KIND of debugging entails.
Debugging League of Legends itself is not that different from this, even though the language is quite different (the LoL game is primarily C++). Again though, this is just the most basic of debugging. Each different type of problem requires a different type of tool to explore it and fix it. :)