diff --git a/Cargo.toml b/Cargo.toml index bccb5d7..14e8337 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,27 @@ license = "BSL-1.1" repository = "https://github.com/odal-node/dpp-engine" rust-version = "1.96" +# --------------------------------------------------------------------------- +# Debug-build profile +# +# `dpp-node`'s integration test binaries link 250+ object files across wasmtime, +# aws-lc, sqlx and the AWS SDK. With full DWARF, linking several of them in +# parallel exhausts memory on a 16 GB machine and the build dies at the *last* +# CI stage — as `LINK : fatal error LNK1102: out of memory`, or, when rustc is +# the one that runs out first, as a bare `STATUS_STACK_BUFFER_OVERRUN` abort +# with no diagnostic. Both read as a code failure and are not one. +# +# `line-tables-only` keeps what this workspace actually debugs with — function +# names, file and line numbers in backtraces and panics — and drops the +# variable-level DWARF that makes those links enormous. The cost is variable +# inspection under a step debugger, which is not how this codebase is worked on. +# `test` inherits from `dev`, so this covers test binaries too. +# +# Raise this back to full debug only with a plan for the link memory. +# --------------------------------------------------------------------------- +[profile.dev] +debug = "line-tables-only" + # --------------------------------------------------------------------------- # Shared dependency versions — crates inherit these with `workspace = true` # ---------------------------------------------------------------------------