Heb je (ook) wel eens last van onverklaarbare crashes? Het befaamde 'Program has stopped working and needs to close' venster gezien? Om nu op zoek te gaan naar de oorzaak van een dergelijk probleem heeft Microsoft een handige tool om zaken te debuggen: Windbg. Afgelopen week was het bij mij thuis prijs. Onze Media Center PC weigerde dienst. En met een kleuter thuis is het natuurlijk rellen als de Teletubbies niet meer on-demand werkt en als niet direct de laatste Sesamstraat klaar staat als opname.

Heb je (ook) wel eens last van onverklaarbare crashes? Het befaamde 'Program has stopped working and needs to close' venster gezien? Om nu op zoek te gaan naar de oorzaak van een dergelijk probleem heeft Microsoft een handige tool om zaken te debuggen: Windbg. Afgelopen week was het bij mij thuis prijs. Onze Media Center PC weigerde dienst. En met een kleuter thuis is het natuurlijk rellen als de Teletubbies niet meer on-demand werkt en als niet direct de laatste Sesamstraat klaar staat als opname.
Wat gebeurde er nu? Behalve dat ineens wat AVI codecs corrupt bleken te zijn, wilde Media Center ook geen nieuwe programma’s meer opnemen. Corrupte codecs in Windows is redelijk snel op te lossen door deze opnieuw te installeren, maar daarna weigerde MC nog steeds op iets op te nemen.. Hieronder een screenshotje van de problemen die Problem Reports aangeeft:
Windbg
Zoals je ziet crasht er elke 5 minuten een proces. Als we zo’n crash gaan bekijken bij 'Details Weergeven' zie je heel mooi alle eigenschappen daarvan:
Windbg
Wat kunnen we hier nu mee? Weinig eigenlijk. Je ziet dat het proces ehrec.exe ermee opgehouden is, maar ja: dat is feitelijk half Media Center (het proces wat op kan nemen van het tv signaal). Zoeken op de foutcode levert ook weinig resultaten op in Google. Alleen een 'NullReferenceException'.. Maar om nu toch te gaan proberen om het probleem te isoleren gaan we eens een Dump file open trekken. Als je namelijk klikt op 'Tijdelijke kopie van bestanden weergeven' krijg je heel mooi wat dump files te zien.
Windbg
Die dump files zijn feitelijk het werkgeheugen van het proces zoals dat op het moment was van de crash. Om zulke bestanden te kunnen lezen, heeft Microsoft dus een tool beschikbaar gesteld om Dump files open te schroeven genaamd Windbg. Als je dit hebt geïnstalleerd en je geeft het commando: !analyze (incl !) op gaat hij kijken waar het fout is gegaan. De output staat hieronder:
Windbg
Hier viel mijn oog op de laatste regel (waar overigens bijna altijd het probleem goed geïdentificeerd word). Hier geeft hij namelijk aan: 'RecordingScheduleItem.get_AlternateAirings'. Dit is de laatste procedure die is uitgevoerd.
Welke kennis heeft mij dit opgeleverd?
Windows Media Center heeft geprobeerd om van een bepaalde opname de Alternatieve uitzendingen op te vragen aan de Electronic Program Guide (EPG). Dit proces gaat dus niet goed. Omdat mijn Media Center wel eens hangt (denk aan corrupte codecs) moeten wij soms de aan/uit knop gebruiken. Dit heeft er dus voor gezorgd dat de EPG database corrupt is geraakt. Nadat ik nu de EPG uit de 'C:\ProgramData\Microsoft\eHome\EPG' directory heb verwijderd en ik Media Center nogmaals een Guide Download heb laten doen was alles weer koek en ei en ben ik weer de held van m’n vrouw en zoontje. Papa heeft het weer gemaakt.
Conclusie
WinDBG in combinatie met Problem Reports and Solutions is cool en maakt je een held (om in Alex de Jong-termen te praten)!