Implemented here : https://github.com/adv-sw/wasmtime
Used here : https://github.com/adv-sw/lldbg
Works thus far but not comfortable passing virtual addresses as real addresses.
lldb fails them & lets us access the fail string to fix them up.
Something along lines of WebAssemblyPtrWrapper maybe to resolve cleanly.
or new DWARF DW_OP_vaddr to resolve optimally.
Doesn't require gimil mods in the end - its very simple. Had to go long way round to learn system configuration.
the code is inserted in a section where cranelift previously failed & silently ignored.
Loads of refinements to lldbg.
https://github.com/adv-sw/lldbg
thought about global variables patch. trunk: doesn't work. patch: works as far as tested. might have real/virtual address clash issues.
so, that's progress, with no effect on anything else. so, imperfect though it is, should perhaps go in, to keep processes straightforward & aligned.
robust solutions discussed but not for me right now - other stuff to be getting on with.
... and another update. fixes regression. evaluate at breakpoint is too slow so one way or another that needs a rework at some point, but meets my goal of just get it working for the time being.
& with html funkiness instead of imgui, drops right into firefox for in browser web assembly debugging.
readme updated. required wasmtime patch referenced link was wrong.
it's as follows : https://github.com/adv-sw/wasmtime/commit/ea208a1a8392447c414103135e5697d82cc4cdf3
as suggested, should perhaps go in so we stay in sync. won't break anything that isn't already broken.
Last updated: Dec 23 2024 at 12:05 UTC