اشکال زدایی debug
ابزار پیدا کردن اشکال: ادعا، پشتهی فراخوانی دستی، ردیابی و زمانسنجی.
واردسازی اشکال زدایی
بستهی اشکال زدایی چند ابزار ساده برای وقتی دارد که برنامه کار درستی نمیکند. ادعا شرطی را که باید همیشه درست باشد بررسی میکند. ورود و خروج یک پشتهی فراخوانی دستی میسازند تا بدانید کجای برنامهاید. زمانسنجها هم نشان میدهند کدام بخش کند است.
روالها
ادعا Assert
روال ادعا(cond: منطقی، msg: رشته)واردسازی اشکال زدایی
روال فرزند():
اشکال زدایی.ورود("فرزند")
سرچاپ اشکال زدایی.عمق()
سرچاپ اشکال زدایی.پشته()
اشکال زدایی.خروج()
پایان
روال ریشه:
اشکال زدایی.ورود("ریشه")
فرزند()
اشکال زدایی.خروج()
سرچاپ اشکال زدایی.عمق()
اشکال زدایی.ادعا(۱ + ۱ == ۲، "حساب درست است")
اشکال زدایی.ادعای خالی نبودن(اشکال زدایی.آمار حافظه() برگردان تهی*، "آمار حافظه")
اشکال زدایی.فعالسازی ردیابی(درست)
سرچاپ اشکال زدایی.ردیابی فعال است()
اشکال زدایی.ردیابی("یک پیام ردیابی")
اشکال زدایی.شروع تایمر("حلقه")
ناپایا ج := ۰
تکرار ۱۰۰۰ در ای:
ج += ای
پایان
سرچاپ ج، اشکال زدایی.پایان تایمر("حلقه") >= ۰.۰
اگر ج < ۰:
اشکال زدایی.شکستنقطه()
پایان
پایانادعای خالی نبودن AssertNotNil
روال ادعای خالی نبودن(p: تهی*، msg: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
ورود Enter
روال ورود(frame: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
خروج Exit
روال خروج()نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
پشته Stack
روال پشته(): رشتهریشه > فرزند برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
عمق Depth
روال عمق(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
فعالسازی ردیابی EnableTrace
روال فعالسازی ردیابی(enabled: منطقی)نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
ردیابی فعال است TraceEnabled
روال ردیابی فعال است(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
ردیابی Trace
روال ردیابی(msg: رشته)[TRACE] چاپ میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
شروع تایمر StartTimer
روال شروع تایمر(name: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
پایان تایمر StopTimer
روال پایان تایمر(name: رشته): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
شکستنقطه Break
روال شکستنقطه()نمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam
آمار حافظه MemStats
روال آمار حافظه(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: debug-Enter.salam