Rust:
שימוש בדיבאגר
איך לעשות:
Rust תומך במגוון מנפים, אך מנפה נפוץ אחד הוא gdb
עבור GNU/Linux או lldb
עבור macOS. תוכלו גם להשתמש בrust-gdb
או בrust-lldb
שהם מעטפים שמדפיסים בצורה נאה ערכי Rust. הנה הצצה:
fn main() {
let mut counter = 0;
for _ in 0..5 {
counter += 1;
println!("Counter is at: {}", counter);
}
}
כדי לבצע איתור באגים בקוד זה, יש לקמפל עם מידע לאיתור באגים:
$ rustc -g counter.rs
אז להפעיל אותו בrust-gdb
:
$ rust-gdb counter
(gdb) break main
(gdb) run
(gdb) print counter
$1 = 0
(gdb) continue
Counter is at: 1
(gdb) print counter
$2 = 1
צלילה עמוקה
איתור הבאגים קיים מאז הימים הטובים של כרטיסי חורים, והתפתחותו הייתה מתנה מהאלים. Rust מספקת את הכלים המשלה עם אינטגרציות ל-GDB ו-LLDB בשל טבעה הרמת-מערכת של השפה.
חלופות לאיתור באגים בקוד Rust כוללות שימוש בסביבות פיתוח משולבות (IDEs) עם המנפים המובנים שלהם, שחלק מוצאים אותם יותר אינטואיטיביים. כאלה פופולריים כוללים את CLion עם התוסף של Rust או Visual Studio Code עם ההרחבה של Rust.
לגבי היישום, Rust מייצרת סמלי איתור באגים שמנפים אלה מבינים, מה שחיוני לעבור דרך הקוד, להגדיר נקודות עצירה, ולבדוק משתנים בלי לאבד את השכל.
ראו גם
- הספר על Rust בנושא איתור באגים: https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html#guidelines-for-error-handling
- Rust By Example בנושא שגיאות ואיתור באגים: https://doc.rust-lang.org/rust-by-example/error.html
- שרת שפת Rust (RLS) שמפעיל את הרחבת Rust של VS Code: https://github.com/rust-lang/rls
- איתור באגים ב-Rust עם Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust