Improved debugging tools (android, linux) #70
Description
Debugging on Android is almost impossible right now. The google tooling is very minimal, and debugging the JIT is pretty much differential debugging and guesswork. On the linux side of things, it is slightly better (at least gdb works reliably, but very slowly on asm view).
This is a combination of the project being big and complex, of us not having internal debug tools, and of the android platform being over complicated and not that well supported.
Short term solutions
- Debug on linux/arm hardware for JIT bugs (pandora, cubix, pandaboard)
- Cross test on windows (it seems we do have some arm only jit bugs though)
- Coordinate with more people so they do manual testing work
Missing tooling
- SH4/ARM/Dreamcast level debugging (drk has some plans for it, but it'll take a while)
- OpenGL ES Debugger (NVidia tools on the Shield should help with that)
- Profiler (nixprof/reprof need to be worked on, also NVidia profiler + oprofile on linux/arm)
- JIT Inspector & etc (gdb is simply not up to the task, custom tooling required. Perhaps we can re-use something?)
Other issues
- android builds are really, really, really slow
- we don't have automated tests. Investigate feasibility (lxdream has some)
** Perhaps look for arm hardware to run arm jit tests on ?
A recent example is the Shenmue crashbug (#62), which even after spending a LOT of time debugging still remains a mystery, and only appears on armrec (even with minrec config).
Any suggestions to make the situation better are welcome.
post refactored by drk
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.