Depurador passo a passo para Rust: como depurar código em 2024?
Olá a todos! Estou escrevendo em Rust há alguns meses, mas não consigo me acostumar com a depuração. Em Python, eu simplesmente colocava `import pdb; pdb.set_trace()` e percorria o código tranquilamente. Em Rust, me sinto como um gatinho cego.
Aqui está um problema específico. Tenho uma função que processa pedidos:
```rust
fn process_orders(orders: Vec) -> Vec {
orders
.into_iter()
.filter(|o| o.status == OrderStatus::Pending)
.map(|o| {
let discount = calculate_discount(&o);
let total = o.amount - discount;
ProcessedOrder {
id: o.id,
final_price: total,
items_count: o.items.len(),
}
})
.collect()
}
```
Suspeito que `calculate_discount` está retornando um valor incorreto, mas não consigo entender exatamente o que está errado. `println!` imprime um monte de lixo no terminal, e `dbg!` polui a saída e não permite visualizar adequadamente o estado.
No answers yet.
Faça login para deixar uma resposta