Let me shed some light on this. DISCLAIMER: This is a purely speculated guess… But based on years of debugging unix apps, it makes sense…
When a program crashes on most unix system it usually does what is called a core dump. Basically a memory foot print of the applciation. Linux and Mach which are the two kernels used by Android and iOS by default don’t leave core dumps around for us.
That aside, when an application is compiled, you can either have it contain debugging symbols (what I suspect is meant by dsym) or not. These debugging symbols add weight to the application and in practice, you turn them off before you make your production run. If you have a core dump and you have debugging symbols (the names of the variables and functions), it becomes much easier to actually debug your program. In our mobile case, if you’ve ever looked at a crash log you see all of these hexadecimal addresses that have no meaning. It’s because there are no debugging symbols.
When you build a mobile app for iOS at least you can have a developer profile or a distribution profile. Xcode when building the app will leave in debugging symbols if you use a developer profile, or strip them on a distribution profile. I don’t really know how Android deals with that. So if you’re building an app with a distribution profile, the dysm should be available in the app for debuggers to use.
But here is the REAL problem with Corona SDK. You’re compiled app at the end is the Corona byte code interpreter. That app has been compiled for production and it does not have a symbol table with it. Any attempts to debug a Corona SDK app means debugging Corona itself, not your Lua code.
Someone please correct me if my speculation is wrong.
[import]uid: 19626 topic_id: 28306 reply_id: 114463[/import]