Closed arteme closed 1 year ago
A combination of split-debuginfo = "packed"
and lto = "thin"
is blocked until rust 1.67 by https://github.com/rust-lang/rust/issues/103932
For the purpose of producing smaller release images, yet having the option of getting useful stack dumps (symbolicated, matched with source in sentry), this proved to work after much swearing and trying different approaches:
split-debuginfo=packed
does not do much in Linux or mingw64 builds (rust updated to 1.67), so splitting debug info from executables on these platforms is accomplished using objcopy);split-debuginfo=packed
is mandatory in macOS to actually get debug symbols;link-arg=-Wl,--build-id
is needed in mingw64 for it does not automatically include build id;sentry
needs debug-images
feature flag to be able to match stack traces to uploaded debug symbols;sentry
has problems recognizing split debug symbols in mingw64;
Currently, packaged pod-ui binaries are huge because they contain debugging info. Debugging info can be split off and packages only with debug build (needed?).
Needs testing, especially with sentry.
Resources: