How do I deal with bugs in ADT optimizations for ad hoc builds?
The project I'm working on is an Adobe Air port of a Flash game.
The ADT generates working builds for the targets: ipa-debug, ipa-test, ipa-debug-interpreter, and ipa-test-interpreter
However the build target ipa-ad-hoc creates a build that crashes during a game event.
The bug is 100% reproducible in Air 3.2, Air3.3b2, and Air3.3b3.
If I use undocumented ADT flag -Xdebug the crash does not happen.
If I instrument the function with trace statements, the crash does not happen, if the trace stacement is in just the right spot.
This feels like a bug in the optimizer, but it's very costly in my time to track down issues that only happen in the ad-hoc build.
It would be much faster to isolate this type of issue if I could debug an optimized build.
It would also be helpful if I could disable the optimizer on the functions I observe it's getting wrong, rather than having to turn off optimizations globally.
I've worked around the present issue; which I was finally able to narrow down to breaking out of a nested for loop. Adding a trace at the point it should have broken out to fixed it; so I wrapped that logic in a function and now it works.
But I'd rather have some tools and a way to get these type of bugs fixed such that ad hoc isn't a scary build to try.
