Débogueur pas à pas pour Rust : comment déboguer du code en 2024 ?
Bonjour à tous ! J'écris en Rust depuis plusieurs mois, mais je n'arrive toujours pas à m'habituer au débogage. En Python, je mettais simplement `import pdb; pdb.set_trace()` et je parcourais le code tranquillement. En Rust, je me sens comme un chaton aveugle.
Voici un problème concret. J'ai une fonction qui traite les commandes :
```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()
}
```
Je soupçonne que `calculate_discount` renvoie une valeur incorrecte, mais je n'arrive pas à comprendre ce qui ne va pas. `println!` affiche beaucoup de bruit dans le terminal, et `dbg!` encombre la sortie et ne permet pas de voir correctement l'état.
No answers yet.
Connectez-vous pour laisser une réponse