What’s the best way to repot debug meta information and backtrace addresses for embedded devices where there’s no virtual memory address?
We are testing a custom integration where our service publishes backtraces for embedded devices. We had symbolication working until recently but it looks it we made some assumptions that broke with a recent change in the symbolicator. Specifically, since we just have a single executable image, we’re setting the debug meta interface with
type “elf” and
image_addr 0 (plus other fields like image_size, debug_id, code_id). Sentry finds the debug image but it can no longer find the symbols. The problem seems to be that when
image_addr is 0, the symbolicator is no longer looking up the symbol using the absolute address. As far as I can tell, this new behavior was introduced in PR #301.
We could work around the problem by artificially setting a non-zero image_addr and offsetting instruction_addr in the stack frames, but this is confusing for people looking at the issue. Any thoughts on how to fix this or is our use case not supported at all?