3 ms·
Can someone explain me how debugging such a language works with so many cross-compilation targets? What if I want to set a breakpoint somewhere in the code, a)
by artemonster 6y ago
Can someone explain me how debugging such a language works with so many cross-compilation targets? What if I want to set a breakpoint somewhere in the code,
a) what changes depending on the target (compiled code, interpreter, vm)
b) how debug adapters should work with all that zoo?
Or maybe there are no?
Or maybe a major question: how do you write a complicitaed piece of software in a "different" language with poor tool support? You rely on something else?
- Gama11 6y agoFor 5 of the targets, debugging directly within the Haxe sources is supported with different VSCode debug adapters (well, JS just uses source maps). If your code is written in a target-agnostic way, you can even switch to a different target with better debugging support temporarily. https://github.com/vshaxe/vshaxe/wiki/Debugging https://github.com/vshaxe/vshaxe/wiki/Debugging Other than that, if really you need to debug some target-specific issue on a target without debugging support, there's usually still the option of debugging the generated code.
- artemonster 6y agooh, I see, thanks! Since I assume you're one of the devs, can you pinpoint also to a direct AST evaluator implementation? Either the obsolete --interp or the new "Eval" interpeter engine :)
- Gama11 6y agoThe eval implementation is found here (evalMain.ml is the entry point): https://github.com/HaxeFoundation/haxe/tree/development/src/macro/eval https://github.com/HaxeFoundation/haxe/tree/development/src/...