הוסף תמונה:
לפניכם הגרסה העברית שנוצרה באופן אוטומטי. לקריאת הגרסה המקורית באנגלית.
תיאור
סדנת NET. ו - Debugging היא סדנה מעשית עבור מפתחי NET מנוסים המוכנים לפתח ביצועים גבוהים. יישומי .NET ו לנפות אותם בסביבות הפיתוח והייצור. בסדנה בת שמונה ימים זו, תוכלו לקבל ידע מעשי על מאפייני הביצועים של מסגרת NET. ללמוד על הפרטים הפנימיים הרלוונטיים של מערכת. NET סוג, אספן אשפה מנגנוני סינכרון; ולבצע תרגילי איתור באגים המתרחשים בסביבת הפיתוח או הייצור של יישומי .NET. סדנא זו מוגבלת ל-8-12 משתתפים על מנת להבטיח שהמדריך יופץ כראוי במהלך המעבדות המעשיות, ויספק הזדמנות לשאלות ספציפיות שיש להעלות אחרי שעות הלימוד.
קהל יעד
סדנא זו מיועדת למפתחים מנוסים עם ידע של #C ושל DOT NET.
לימודי DOT NET Performance and Debugging Workshop
סילבוס תוכנית הלימודים - מבנה ונושאים
ביצועי NET
מודול 2 - מדידת ביצועים
מדדים למדידת ביצועים - מה ניתן למדוד?
מידות הביצועים של Windows
פרופילי מעבדים - דגימה ומכשור
פרופיל הקצאת זיכרון
זיכרון דליפת פרופיל
פרופיל מקביליות
מעקב אחר אירועים עבור Windows
ערכת הכלים של Windows ביצועים ו
מיקרו-מידוד
LAB: מדידת זמן המעבד וזמן השעון
LAB: הקצאת הקצאות זיכרון
LAB: אבחון דליפת זיכרון
LAB: פרופיל המטמון מתגעגע
מודול 3 - סוג פנימיים
הבדלים בין סוגי ערכים וסוגי ייחוס
פריסת זיכרון מסוג ייחוס - מצביע אובייקט מסוג, אינדקס סינכרון לחסימה
שימוש בשיטות וירטואליות לעומת שיטות לא וירטואליות, המשנה האטום
פריסת זיכרון מסוג ערך, איגרוף
יישום סוגי ערכים נכון - שווה ו GetHashCode
מודול 4 - אוסף אשפה
ספירת סימוכין לעומת מעקב אחר GC
ערימה מנוהלת ומצביע האובייקט הבא (NOP)
סמן ו לטאטא GC מודל, שורשי GC
GC טעמים - תחנת עבודה GC, שרת GC
Thread ההשעיה GC
הצמדת אובייקטים שמקושרים לקוד לא מנוהל
דורות והפניות בין דור
מקטעי GC וזיכרון וירטואלי
ממשקי API מנוהלים
גמר הפנימיים וסופיות דטרמיניסטית
הפניות חלשות
שיטות עבודה מומלצות לאינטראקציה עם GC
מודול 5 - גנריות
מוטיבציה ואילוצים כלליים
יישום של גנרי בזמן ריצה
NET. גנריות לעומת Java Generics ו- C + + תבניות
מודול 6 - קוד לא בטוח
מחלקת המרשלים, גישה לזיכרון לא מנוהל
העתקת נתונים ממבנים שאינם מנוהלים
C # מצביעים, את מילת המפתח לא בטוחים, מצביע נקודות
LAB: יישום עותק זיכרון עם קוד לא בטוח
LAB: שיפור גישות הדור קוד
מודול 7 - אוספים
אוספים
בחירת אוסף
שיקולים במטמון
אוספים מותאמים אישית
מודול 8 - אופטימיזציות JIT
רקע מרובה ליבות JIT
NGen
MPGO
RyuJIT
ILMERGE
. NET
שיטת הבעה
טווח בדוק אלימינציה
Microsoft.Bcl.Simd
ניקוי באגים
מודול 01 - חריגים ו Dumps
טיפול בחריגים
באגים סמלים
Dump קבצים וסוגים
יצירת מזבלות
הדור Dump אוטומטית
פתיחת קבצי Dump
מודול 02 - מבוא WinDbg
פקודות בסיסיות של WinDbg
נקודות חכמות חכמות
WinDbg סקריפטים
הרחבות WinDbg
LAB: היכרות עם WinDbg
LAB: לכידת Dumps Crash (x3)
מודול 03 - C + + באגים תרחישים
Heap שחיתות
ערימת פגמים
דליפות זיכרון
דליפות משאבים
חסכונות
LAB: דליפת זיכרון
LAB: ערימת השחיתות
LAB: ערימת שחיתות
LAB: ידית דליפה
LAB: ידיות לא חוקיות
LAB: קיפאון (x2)
מודול 04 - כלי איתור באגים
מידות ביצועים
סייר התהליך
מעקב אחר תהליך
יישום תאימות ערכת כלים
ETW ו Xperf
GFlags
LAB: פרופיל עם Xperf
LAB: תהליך לפקח
LAB: יישום תאימות ערכת כלים
באגים ב - Visual Studio
Windows
נקודות מעבר ונקודות ציון
נתונים breakpoints, פונקציה נקודות
חוטים
ערימות מקבילות, משימות מקבילות
ניתוח קוד סטטי
LAB: בדיקות זמן ריצה
מודול 06 - SOS
הגדרת
ניתוח דליפות זיכרון
בדיקת אובייקטים
בדיקת חוטים וערימות
פקודות מתקדמות
LAB: היכרות עם SOS
LAB: לכידת Dumps Crash (x2)
LAB: קיפאון (x2)
LAB: דליפת זיכרון (x4)
מודול 07 - NET. כלים Debugging
ניהולי באגים מנוהלים
IntelliTrace
Visual Studio Profiler
CLR Profiler
זיכרון נמלים זיכרון Profiler
האבחון טעינה
LAB: אבחון פיוז 'ן
LAB: IntelliTrace