מאמרים עם התגית “חקירת תקלות”
15 מאמרים עם התגית “חקירת תקלות”, מהחדש לישן.
-
למה האודיו נקטע כשה-CPU לא עסוק? — מבט דרך buffer ו-deadline
האודיו נקטע בזמן שהשימוש ב-CPU נמוך. ההסבר יוצא מה-buffer של הניגון ומה-deadline של המילוי מחדש, ממשיך למה buffer גדול יותר מוסיף השהיה, ומסתיים בשיטות החקירה.
-
מה Not Responding באמת אומר — איך Windows מחליט שיש hang, ואיך לתכנן אפליקציות שלא נתקעות
Windows מסמן window כ-Not Responding אחרי 5 שניות בלי שליפת message ומציג ghost window: השיפוט, סיבות ה-hang, תכנון ה-UI thread, והחקירה.
-
Spurious wakeup — למה condition variable מתעורר בלי notify, ואיך לחכות נכון ב-Windows
Wait של condition variable יכול להתעורר בלי notify (spurious wakeup). למה Windows מתיר זאת, וצורת ה-wait הנכונה עם while ו-predicate ב-Win32, ב-C++ וב-C#.
-
WPR/WPA בפועל — מבוא לחקירת "כל ה-PC איטי" על פני כל המערכת
חוקרים PC איטי או startup איטי ש-Task Manager לא מסביר עם ETW trace ברמת ה-OS: מצלמים ב-wpr.exe, ואז קוראים CPU, המתנות ו-I/O דיסק ב-WPA.
-
OneDrive Files On-Demand ואפליקציות עסקיות — placeholders שוברים הנחות
CSV בשולחן העבודה לא נפתח, או שייבוא נופל על "הקובץ לא נמצא" — הסיבה יכולה להיות KFM ו-Files On-Demand של OneDrive. המאמר מסביר placeholders, איך לזהות אותם ...
-
Best practices לריבוי threads בפועל: Java — המוסכמות בעידן ה-virtual threads
ב-Java הנוהג המבוסס ב-multithreading הוא לא ליצור threads ישירות אלא לבנות על ExecutorService ועל virtual threads. המאמר מציג את העקרונות המעשיים: בחירה בין ...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C — כתיבה בטוחה לפי Win32 API
הגישה המבוססת ל-multithreading ב-C מול Win32 היא יצירת thread עם _beginthreadex, SRW lock ו-condition variable, Interlocked, ו-stop event יחד עם WaitForMulti...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C++ — לבטל תאונות במבנה עם RAII ו-jthread
ב-C++, multithreading הוא עולם שבו data race הוא undefined behavior. המאמר עובר על מלכודת ה-destructor של std::thread, תכנון עצירה עם jthread ו-stop_token, ה...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת .NET — מה להחליט לפני שמוסיפים threads
כללי תכנון שמונעים מקוד multithreaded ב-.NET/C# לקרוס או להיתקע מדי פעם: להשתמש ב-Task במקום ליצור threads בעצמכם, לצמצם shared mutable state, לשמור משמעת lo...
-
Volume Shadow Copy (VSS): איך זה עובד בפועל — למה תוכנת גיבוי מצליחה להעתיק קבצים שבשימוש
קבצים שבשימוש בדרך כלל אי אפשר להעתיק בגלל sharing violation — אז איך תוכנת גיבוי מצליחה? המאמר מסביר את תפקידי requester, writer ו-provider ב-Volume Shadow ...
-
מעמקי ה-I/O של Windows (חלק 1) — כל קריאה וכתיבה הופכת ל-IRP: התמונה הכוללת של מערכת ה-I/O
חלק 1 בסדרה על ה-I/O של Windows מהיסוד: מרחב השמות של ה-Object Manager, ה-driver ואובייקטי ה-device וה-file, מחזור החיים של IRP, ומה CloseHandle באמת עושה.
-
איך משאירים לוגים ו-crash dump כשאפליקציית Windows קורסת
איך משלבים לוג רגיל, fatal crash marker, WER LocalDumps ותהליך watchdog, כדי שאפילו כשאפליקציית Windows קורסת מ-exception לא צפוי או מ-bug בקוד, יישאר תיעוד ...
-
איך אוספים crash dump באפליקציית Windows: WER, ProcDump, WinDbg
איך בוחרים ומשתמשים ב-WER LocalDumps, ProcDump, MiniDumpWriteDump ו-WinDbg כדי לחקור קריסות באפליקציות Windows שקשה לשחזר, כולל נקודות תפעול.
-
Handle leak באפליקציית מצלמה תעשייתית שקורסת אחרי ריצה ארוכה
איך בוחנים אפליקציית Windows שקורסת פתאום אחרי ריצה ארוכה, דרך מקרה של אפליקציית בקרת מצלמה תעשייתית: איך מוצאים handle leak ואיך מתכננים את הלוגים.
-
TCP Retransmission שעוצר תקשורת עם מצלמה תעשייתית — איך מפרקים את זה
איך מפרקים עצירה של כמה שניות בתקשורת עם מצלמה תעשייתית שנגרמת מ-TCP retransmission: packet loss, RTO, timestamps של RFC1323, ונקודות בדיקה ב-Wireshark.