מה חדש בתחום ה-Debugging ב-Visual Studio 2010?

Visual Studio 2010 היא אחת הגרסאות שמחדשות לא מעט בנושאי ה-Debugging והביצועים בסביבת הפיתוח עצמה. סשה גולדשטיין, מומחה לפיתוח בסביבת מיקרוסופט מסביר על כמה מהיכולות החדשות שהופכות את כתיבת הקוד ליעילה יותר

חברת מיקרוסופט עורכת את כנס Tech-Ed 2010 שיתקיים באילת ב-28-30 בחודש נובמבר. אחד המסלולים המרכזיים בכנס הוא מסלול Development Tools and Technologies. המסלול יעסוק פתרון הבעיות של היום ובו יילמדו גם הטכנולוגיות שיסייעו לנו מחר. שלל טכנולוגיות, כלי פיתוח ופתרונות, הרבה דמויים והרבה קוד. אם אתם מעוניינים ללמוד יותר על פלטפורמות הפיתוח בסביבת מיקרוסופט, אתם מוזמנים לשריין את מקומכם במסלול ה-Optimized Desktop בכנס.

Visual Studio 2010 היא אחת הגרסאות שמחדשות לא מעט בתחומי ה-Debugging וביצועי המערכת בסביבת הפיתוח עצמה. מההתנסות שלי, היעילות הן בכתיבת קוד והן ב-Debugging השתפרה משמעותית מאז שעברתי לעבוד עם הגרסה החדשה.

גרסת ה-Ultimate של Visual Studio מגיעה עם כלי מובנה שנקרא IntelliTrace, או בשמו הקודם – Historical Debugging. הכלי החדש שימושי במיוחד במקרים בהם אנו מריצים את התוכנית שלנו ב- Debug, עוצרים ב- Breakpoint או ב- Exception שטופל, מסתכלים על כל מני משתנים ועל מחסנית הקריאות (Call Stack), ומחליטים להמשיך את הריצה. ב- Breakpoint הבא או ב- Exception אנחנו מתחרטים ורוצים להסתכל שוב על מה שקרה בפעם הקודם שעצרנו את ה-Debugger, אבל אין לנו שום דרך לשחזר את המצב הקודם בלי להריץ מחדש את כל התוכנית.

ב-VS2010, בכל פעם שה- Debugger עוצר ב- Breakpoint על Exception או בכל אירוע אחר המוגדר מראש, מנוע ה-IntelliTrace שומר בצד דגימה של מחסנית הקריאות, של הפרמטרים, ושל חלק מהמשתנים המקומיים, כך שנוכל בהמשך לחזור לנקודה שכבר עצרנו בה ולראות מה קרה שם.

חלון ההגדרות של IntelliTrace בו ניתן להגדיר את האירועים שעליהם תיאספנה דגימות

אוסף האירועים ש- IntelliTrace תומך בהם הוא גדול למדי וכלל דגימות בכל גישה לקובץ, בכל שליחת תצוגה למסך ועוד. בתצלום המסך להלן אתם רואים את ה- Debugger מציג אירוע ש”כבר קרה”—הנקודה שבה נפתח הקובץ out.c שאליו התוכנית כותבת. שימו לב שמחסנית הקריאות וגם חלון ה- Locals מציגים את האינפורמציה כפי שהיא הייתה “בעבר”. למידע נוסף על IntelliTrace, לרבות אפשרויות איסוף המידע מתהליך שרץ במחשב אחר או בסביבת בדיקות, קראו את התיעוד.

חלון ה- IntelliTrace ב- Visual Studio

חידוש נוסף שיכול לסייע משמעותית לפתרון בעיות קשות, ובעיות מסביבת הייצור בפרט הוא תמיכה מלאה של Visual Studio בפתיחת Dump Files, קבצים שמכילים את כל תוכן המידע בזכרון של תוכנית מסוימת שקרסה או נתקעה וכעת אנו רוצים לחקור את התקלה שהתרחשה בה. לא נדבר כאן על האופן שבו ניתן ליצור Dump Files, אולם מדובר בפעולה טכנית לא מסובכת במיוחד (דוגמא תמצאו כאן), ובסופה מקבלים את האפשרות לחקור ולנתח בעיות שהתרחשו בסביבת הייצור מבלי לצאת מהמשרד.

לפני הגרסה האחרונה, Visual Studio תמך בפתיחת Dump Files שנוצרו מקוד Unmanaged בלבד. התוספת המשמעותית היא תמיכה ב- Dump Files מתוכניות מבוססות .NET ודרישת הסף היא CLR 4.0—כלומר קומפילציה ל- Target Framework 4. כאשר פותחים Dump File מתאים ב- Visual Studio, אפשר לקבל את מחסנית הקריאות המדויקת, מצב המשתנים המקומיים והסטטיים, וכמובן את ה-Exception שהתרחש—בדיוק כאילו חיברתם Debugger לתהליך שקרס או נתקע.

פתיחת Dump File ב- Visual Studio—המסך שמופיע לאחר פתיחה מוצלחת של Dump File

אם אתם רוצים לדעת כיצד ניתן להשתמש ב- IntelliTrace כדי לקבל נתונים מאנשי QA על בדיקות שנכשלו ומיד לראות היכן בקוד ארעה התקלה, אם אתם רוצים להשתמש נכון ב- Dump Files כדי להבין מה קרה לאפליקציה שלכם, ואפילו אם אתם רוצים לבחון את ביצועי התוכנית באמצעות ה- Profiler של Visual Studio, אתם מוזמנים להרצאה המלאה בנושא Debugging ו-Performance בכנס Tech-ED 2010 שיערך ב-28 עד ה-30 בנובמבר באילת.

Avatar

סשה גולדשטיין

סשה גולשטיין הוא מומחה בתחום פיתוח ו-CTO של קבוצת סלע.

הגב

הגב ראשון!

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

wpDiscuz

תגיות לכתבה: