MobiVM / robovm

Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux
https://mobivm.github.io
967 stars 133 forks source link

* Debugger: support for chained fixup #645

Closed dkimitsa closed 2 years ago

dkimitsa commented 2 years ago

Starting from Xcode13 and for ios15 target Apple have changed a binary and its address references are mixed with meta data that doesn't allow debugger to parse RoboVM structures. This results in debugger crash on startup:

[ERROR] Couldn't start application java.lang.IllegalArgumentException: there is no region for addr @10000101effaa0 at org.robovm.debugger.utils.bytebuffer.CompositeDataBuffer.setPosition(CompositeDataBuffer.java:37)

this PR adds support for chained fixup based on DYLD sources. It includes:

dkimitsa commented 2 years ago

a bit longer version and instruction how to build dyld_info from apple source code in the post