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