Crash reporting

Good morning wise forum readers. I was wondering how you handle crash reporting in your app. That is, once your app is built and running on devices, how do you capture and view useful stack traces? 

I’m using GameAnalytics, but the stack traces are typically just a small step up from useless. N.B. so far I’m only building the app for Android. Here’s an example of an error that occurred 400 times in my latest round of beta testing, but gives me no clue where it’s happening in my code. I realize that my lua code doesn’t survive the build process completely intact, but there’s gotta be a way to view more helpful stack traces, right?

?:0: attempt to perform arithmetic on upvalue '?' (a nil value) stack traceback: &nbsp;&nbsp;&nbsp;&nbsp;?: in function 'func' &nbsp;&nbsp;&nbsp;&nbsp;/Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:241: in function \</Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:221\>

You should be able to get a more detailed stack trace (for production binaries) by adding this to build.settings:

settings = { build = { neverStripDebugInfo = true } }

Thanks! I will give that a try. 

OK so I saw this in action for the first time tonight. The good news is the stacktrace was very informative, showing the exact location in the code. The bad news is it popped up a dialog box and showed the error in the middle of the game. Is there any way to “silence” these errors so that they’re passed through to the analytics provider, but the player doesn’t see all the gory details? It shows the local path on my development machine and everything. 

It’s a config.lua setting…  See:  https://docs.coronalabs.com/guide/basics/configSettings/index.html#runtime-errors

Rob

You should be able to get a more detailed stack trace (for production binaries) by adding this to build.settings:

settings = { build = { neverStripDebugInfo = true } }

Thanks! I will give that a try. 

OK so I saw this in action for the first time tonight. The good news is the stacktrace was very informative, showing the exact location in the code. The bad news is it popped up a dialog box and showed the error in the middle of the game. Is there any way to “silence” these errors so that they’re passed through to the analytics provider, but the player doesn’t see all the gory details? It shows the local path on my development machine and everything. 

It’s a config.lua setting…  See:  https://docs.coronalabs.com/guide/basics/configSettings/index.html#runtime-errors

Rob