Ferramentas de Build & Inspeção
Além do cargo build, ferramentas do Linux inspecionam binários Rust: detalhamento de tamanho, símbolos, modo de linkagem e políticas de strip para deploy.
Busque em todas as páginas da documentação
Além do cargo build, ferramentas do Linux inspecionam binários Rust: detalhamento de tamanho, símbolos, modo de linkagem e políticas de strip para deploy.
cargo build --release --locked
file target/release/my-service
ldd target/release/my-service 2>/dev/null || true
cargo bloat --release -n 20
strip target/release/my-service
ls -lh target/release/my-serviceQuando usar isso:
musl estáticocargo install cargo-bloat
cargo bloat --release --crates -n 15
# Inspecionar símbolos
nm -C target/release/my-service | rg "my_service::" | head
# Desmontar função quente (avançado)
objdump -d --demangle target/release/my-service | less# Cargo.toml - perfil de release
[profile.release]
strip = "symbols"
lto = "thin"
codegen-units = 1O que isso demonstra:
cargo bloat atribui o tamanho às cratesnm lista símbolos mangled/demangledstrip do perfil automatiza a redução pós-linkagem| Comando | Propósito |
|---|---|
cargo tree -e features | Por que a dependência existe |
cargo llvm-lines | Proxy de tamanho do IR LLVM |
cargo audit | Avisos de segurança |
cargo deny check | Política de licença e banimento |
bloat em build de desenvolvimento - tamanhos enganosos. Correção: sempre usar --release.ldd em binário estático - imprime "not a dynamic executable" - isso é esperado.objdump em PIE - endereços diferem por execução - use offsets apenas para documentação.build.rs - flags de linkagem nativa ocultas. Correção: ler build.rs ao inspecionar a linkagem.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
samply / perf | Profiling em tempo de execução | Apenas tamanho estático |
twiggy | Tamanho WASM | Apenas nativo |
dwarfdump | Análise de informações de debug | Verificação rápida |
Release com strip geralmente de 2-8 MB dependendo das dependências; investigar se houver um dobro repentino.
bloat mede a contribuição do tamanho linkado; tree mostra apenas o grafo de dependências.
Versões da Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, e Polars 0.46+.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026