Skip to content
This repository has been archived by the owner on Jul 10, 2023. It is now read-only.
This repository has been archived by the owner on Jul 10, 2023. It is now read-only.

Improved debugging tools (android, linux) #70

Open
@MrPsyMan

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.

Metadata

Assignees

Labels

AndroidAndroid specificHelp WantedComplex tasks that we could help from emulator-knowledgeable contributorsInvestigatingimportant

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions