Lua:
שימוש בדיבאגר

איך לעשות:

ל-Lua אין דיבאגר מובנה, אך אפשר להשתמש בחיצוניים, כמו ZeroBrane Studio. הנה טעימה איך עובדים איתו:

-- זה סקריפט Lua פשוט עם שגיאה מכוונת
local function add(a, b)
    local result = a + b -- אופס, בואו נדמיין ששכחנו להגדיר את 'b'
    return result
end

print(add(10))

כאשר תריץ את זה בדיבאגר, הביצוע יעצר במקום שבו התרחשה הבעיה. תראה משהו כזה:

lua: example.lua:3: attempt to perform arithmetic on a nil value (local 'b')
stack traceback:
	example.lua:3: in function 'add'
	example.lua:7: in main chunk
	[C]: in ?

ניתן להגדיר נקודות עצירה, לעבור צעד אחר צעד בקוד שלך, ולהציץ בערכי משתנים כדי לאתר את הבאג מבלי לאבד את השפיות.

צלילה עמוקה

הפשטות של Lua לא משתרעת לדיבאגינג, לצערינו. אך אל דאגה, קהילת Lua מגיעה לעזרה. כלים כמו ZeroBrane Studio, LuaDec, ואחרים מציעים יכולות דיבאגינג. היסטורית, דיבאגרים היו קיימים לא הרבה זמן אחרי שהתכניות הראשונות החלו לסבך, ונתנו למפתחים את האפשרות לתקן את הקוד שלהם מבלי להתעסק בחושך.

עם Lua, לעיתים קרובות אתה מסתמך על דיבאגרים חיצוניים או מתקנם בסביבת הפיתוח שלך. ZeroBrane Studio, למשל, הוא סביבת פיתוח אינטגרטיבית (IDE) שמשלבת בתוכה דיבאגר ל-Lua. הוא מאפשר לך לעבור צעד אחר צעד בקוד, להגדיר נקודות עצירה, ולצפות במשתנים. מבחינת היישום, דיבאגרים בדרך כלל משתמשים ב-hooks כדי להכניס נקודות עצירה וכלי דיבאגינג אחרים.

אלטרנטיבות? כמובן. הודעות print הטובות הישנות, המכונות בחיבה “printf debugging”, לעיתים יכולות לעשות את העבודה בלי כלים מתוחכמים.

ראה גם

כדי להמשיך את מסע הדיבאגינג שלך, בדוק: