ניפוי שגיאות – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Thijs!bot (שיחה | תרומות)
מ רובוט מוסיף: ja:デバッグ
Yonidebot (שיחה | תרומות)
מ בוט החלפות: זיכרון;
שורה 1:
'''ניפוי שגיאות''' (באנגלית: '''debugging''') הוא תהליך שיטתי של מציאת והפחתת [[באג|באגים]] ב[[תוכנה|תוכנת מחשב]] או ב[[חומרה]] אלקטרונית, בכדי לגרום להם לפעול כפי שתוכננו. ככל שיש יותר קשרים בין תת־מערכות או שהמערכת חסרת סדר, כך תהליך ניפוי ה[[שגיאה#תכנות מחשבים|שגיאות]] יהיה קשה יותר.
 
באופן כללי, תהליך ניפוי השגיאות הוא משימה מסורבלת ומעייפת. הקושי בניפוי שגיאות בתוכנה משתנה רבות בין [[שפת תכנות|שפת התכנות]] שבה השתמשו ובכלים הקיימים כגון [[מנפה שגיאות]]. מנפי שגיאות הם כלים אשר מאפשרים ל[[מתכנת]] לעקוב אחרי ההרצה של תוכנית, לעצור אותה, להתחיל אותה מחדש, להריץ אותה בהילוך איטי, לשנות ערכים ב[[זכרוןזיכרון מחשב|זיכרון]] ואפילו במקרים מסוימים לחזור אחורה בזמן.
 
באופן עקרוני [[שפה עילית|שפות תכנות עיליות]], כגון [[Java]], הופכות את ניפוי השגיאות לקל יותר, כיוון שהן כוללות אפשרויות כמו [[טיפול בחריגות (תכנות)|טיפול בחריגות]] (exception handling) שמקל על זיהוי הקוד שבגללו התוכנית פועלת בצורה פגומה. עם זאת, במקרה של [[תכנות מונחה אירועים]] שממומש בשפות אלו קיים קושי לעקוב אחרי התהליכים בשל העובדה כי התוכנה מתבצעת באופן שאיננו רציף, גם [[ריבוי נימים]] בתוכנית או תקשורת בין תוכניות שונות גורם לבעיה דומה. בשפות תכנות אשר נוגעות יותר בחומרה ובהגדרות בסיסיות (low level), כגון שפות התכנות [[C (שפת תכנות)|C]] או [[שפת סף]], באגים יכולים ליצור בעיות "שקטות" כמו - [[השחתת זיכרון]], ותדיר קשה למצוא היכן הבעיה הראשונית החלה; במקרים כאלה נדרשים בדרך כלל כלי ניפוי מורכבים.