KB » Computer » Algemene technieken om problemen op te lossen (troubleshooting)

Algemene technieken om problemen op te lossen (troubleshooting)

    Tweeten

Introductie

Als er zich op de PC een probleem voordoet waarbij je geen idee hebt waar de je de fout zou moeten zoeken, kan je een aantal algemene troubleshooting technieken toepassen.

De problemen zouden bv. kunnen bestaan uit:

Je kan ook kijken op mijn pagina met een index op problemen.

Wat is een goede plaats om te beginnen? Dat is Logboeken (Event Log). In deze logs vind je meldingen (waarschuwingen en fouten) m.b.t. alle dingen die er gebeuren op de PC, en i.h.b. dingen die niet goed gaan.


Problemen met video of geluid

Er is een eenvoudige eerste stap die je kunt zetten als er iets mis is met video of geluid (afspelen of opnemen). DirectX is een component van Windows die belangrijk is voor alles wat met geluid en beeld te maken heeft, en er is een programma dat kan controleren of de onderdelen van die component in orde zijn.

Klik op Start - Uitvoeren (Run), en tik dan in: dxdiag, gevolgd door Enter

Onder Windows 7 krijg je nu een venster met 4 a 5 tabbladen (er kunnen meerdere tabbladen voor geluid zijn). Onderaan het 2e t/m 5e tabblad staat een vak met de titel Opmerkingen (Notes), en in dat vak staat als het goed is Geen problemen gevonden (No problems found).

Als er iets anders staat moet je misschien bij Microsoft de nieuwste versie van DirectX voor jouw Windows-versie ophalen, en die installeren.

Ga naar deze pagina voor problemen met het afspelen van video buiten browsers, en naar dit stuk voor het afspelen van video binnen browsers.


Bestandscontrole (System File Checker)

Introductie

System File Checker (sfc) controleert of essentiele Windows files nog in orde zijn. Files die niet OK zijn worden uit een map op de harde schijf of van de Windows CD/DVD gehaald.

Starten van sfc

Open een commandoregel venster.

Tik dan het volgende commando in: sfc /scannow, gevolgd door Enter.

Mogelijke vragen tijdens de scan

Tijdens de scan zou je de volgende vraag (of iets vergelijkbaars) kunnen zien verschijnen:
Bestanden die voor een goede werking van Windows nodig zijn, moeten worden gekopieerd naar de map DLL Cache. (Files that are required for Windows to run properly must be copied to the DLL Cache.)
In hetzelfde venster wordt je dan gevraagd de XP CD/DVD in de PC te doen: (Insert your Windows XP Professional CD-ROM now)
(Of iets vergelijkbaars.)

Als de CD wel hebt klik dan op Opnieuw, maar als je niets doet gaat het programma uit zichzelf ook wel door.

Als je de CD niet hebt klikt dan op Annuleren (Cancel).
Er komt dan een nieuwe vraag:
Weet u zeker dat u dit bestand wilt overslaan? (Are you sure you want to skip this file?) Antwoord met Ja (Yes).

Resultaten

Onder Windows XP werden er enties in Logboeken (Event Viewer) gemaakt voor de resultaten. Onder Windows 7 gaan de resultaten naar een moeilijk te doorgronden logbestand.

In Windows 7 wil je in elk geval graag de volgende melding zien:
Er zijn geen schendingen van de integriteit gevonden.

Maar je kan ook de volgende tekst zien:

Beginning verification phase of system scan. Verification 100% complete. Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log. Note that logging is currently not supported in offline servicing scenarios.

Windows 7

De uitvoer van sfc gaat naar het bestand CBS.log

Windows XP

Als de scan klaar is start dan Event Viewer.

Klik in het linkerdeel van het Event Viewer venster op Systeem (System). Vrij bovenaan in het rechterframe staat als het goed is onder Bron (Source) minimaal 1 entry van Windows File Protection vrij bovenaan. met als waarde onder Event 64017.

In het rechterframe kunnen onder Gebeurtenis (Event) de volgende getallen staan:

Alle entries waar meer in staat dan alleen maar dat het programma is gestart of gestopt (64016 en 64017) zijn interessant. Je kan ze openen door er op te dubbelklikken. Vervolgens kan je de tekst onder Beschrijving (Description) selecteren, kopiëren en plakken in een ander bestand om door iemand te laten bekijken.


Controleer Logboeken (Event Viewer)

Introductie

Windows houdt verschillende logboeken bij met gebeurtenissen die er op het systeem plaatsvinden. Iedere keer als er iets bijzonders op het systeem gebeurt wordt dat daarin geregistreerd. Je kan denken aan simpele acties als het starten en stoppen van bepaalde programma's, tot aan foutcodes die cruciale informatie over een probleem kunnen geven.

Ik heb een speciale pagina gewijd aan de tool die je kunt gebruiken om gebeurtenissen te bekijken.

Logs bekijken

Je kan de logboeken bekijken met Logboeken (Event Viewer).

Start het eventvwr console.

In het linkerdeel van het scherm zie je een aantal categorieën, maar de belangrijkste zijn Toepassing (Application) en Systeem (System). (In Windows 7 zijn die een subcategorie van Windows-logboeken (Windows Logs).) Als je op zo'n categorie klikt zie je rechts alle gebeurtenissen (events) die met die categorie te maken hebben.

Als je specifiek op zoek bent naar problemen zou je door de lijst kunnen bladeren op zoek naar events van type Fout (Error) (1e kolom). De events staan standaard gesorteerd op datum, maar je kan ook klikken op Niveau (Type), waarna alle foutmeldingen keurig op een rijtje staan (gesorteerd op datum).

In Windows 7 is er een speciale categorie voor alle waarschuwingen en fouten: Beheergebeurtenissen (Administrative Events) binnen Aangepaste weergaven (Custom Views)

Je kan de inhoud van een event bekijken door er op te dubbelklikken. In het wat grotere vak op het tabblad Gebeurtenis (Event) in Windows XP, en op het tabblad Algemeen (General) in Windows 7 staat dan wat er aan de hand was.

Als je veel meer gedetailleerde informatie over een bepaalde melding wilt kan je naar de site Troubleshooting Microsoft Windows Event Logs (eventid.net) gaan.

Ik ben zelf ook bezig een lijst te maken van events die ik tegenkom, waarvan ik denk dat ze van belang zijn en waarvan ik de betekenis al dan niet ken. Maar die is nog maar zeer beperkt.

Logs door een ander laten bekijken

Als je zelf niets snapt van de inhoud van de meldingen kan je de inhoud op een forum op Internet plaatsen, of een vriend inschakelen.

De logs kunnen in principe op een andere PC worden bekeken, hoewel sommige meldingen specifiek zijn voor een bepaald programma. Als dat programma niet op de andere PC geinstalleerd is, kan er niet zoveel over de gebeurtenis gezegd worden als wanneer je hem op de oorspronkelijke PC zou bekijken.


Controleer op vreemde programma's

Introductie

Geen enkele virusscanner is perfect, en hoe voorzichtig je ook bent, er kan altijd een akelig programma op je PC belanden. Je kan bv. onmogelijk weten welke websites 100% veilig zijn. Maar ook programma's van gerenommeerde fabrikanten (zoals Adobe, van Acrobat Reader) kunnen voor problemen zorgen.

Het is daarom bijzonder verstandig om af en toe te kijken welke programma's er dingen uitspoken op je PC. Je kan zowel kijken naar programma's die actief zijn op het moment dat je kijkt, als naar programma's die alleen draaien tijdens het starten van de PC (maar nadat ze hun taak volbracht hebben, bv. controleren op updates, niet meer actief zijn).

Naast normale programma's moet je tegenwoordig ook nog rekening houden met programma's die bv. geintegreerd zijn in de (web)browser, zoals (Internet Explorer, Firefox of Google Chrome). Het gaat hierbij om BHO's (Browser Helper Objects), add-ons, extensions, etc.

Handige hulpmiddelen

Voor het eerste categorie (programma's die nu draaien) zou je kunnen werken met Taakbeheer (Task Manager), dat in elke versie van Windows aanwezig is, of met het veel betere Process Explorer. Voor de tweede (programma's die actief zijn tijdens de startfase, browser toevoegingen e.d.) kan je het beste werken met Autoruns.

In beide situaties (maar vooral de 1e) is ook Msconfig enigszins bruikbaar. Dit programma is net als Taakbeheer (Task Manager) in elke versie van Windows aanwezig, maar laat in vergelijking met Autoruns maar een fractie van de informatie zien.

Het programma HijackThis (de naam klinkt niet betrouwbaar, maar het programma is dat gegarandeerd wel) is ook een echte aanrader.


Controleer op corrupte Windows-componenten

Introductie

Overal op een computer can corruptie ontstaan, en dus ook in de componenten van Windows (die via Windows Update zijn opgehaald??!). Net zoals je de bestanden van Windows kan controleren met System File Checker, is er ook een tool om de componenten te controleren.

T/m Windows 7 heette deze tool de System Update Readiness tool. Ik heb al enige aandacht besteed aan het logbestand dat uit deze tool komt. De tool zelf moet je downloaden, en is geen standaardonderdeel van Windows.

De opvolger zit wel standaard in Windows (8 en hoger), en heet Deployment Image Servicing and Management tool.

Hieronder beschrijf ik hoe je kunt controleren of er problemen zijn, hoe je ze kunt repareren, tegen welke problemen je aan kunt lopen en waar je meer informatie kunt vinden.

DISM is een mooie aanvulling op SFC, en dat zie je in dit voorbeeld.

Controleren op problemen

Om te beginnen moet je een commandoregel met verhoogde permissies openen.

Daarna tik je het volgende commando in:
DISM.exe /Online /Cleanup-image /ScanHealth

Het kan makkelijk 5 a 10 minuten duren voor de operatie voltooid is. Waarschijnlijk krijg je eerst een regel in beeld met iets van 20% (voltooid), en pas veel later de 100%.

Als je een hele snelle controle wilt kan je de optie /ScanHealth vervangen door /CheckHealth. Alleen wordt er in het 2e geval niets gelogd. In het 1e geval gaat er uitvoer naar het bestand CBS.log.

Als alles goed is krijg je een melding als de volgende:

C:\WINDOWS\system32>DISM.exe /Online /Cleanup-image /ScanHealth Deployment Image Servicing and Management tool Version: 10.0.10586.0 Image Version: 10.0.10586.0 [==========================100.0%==========================] No component store corruption detected. The operation completed successfully. C:\WINDOWS\system32>

Reparatie van corrupties

Tik op de commandoregel (zie vorige sectie) het volgende commando in:
DISM.exe /Online /Cleanup-image /RestoreHealth

Dit kan nog iets langer duren dan alleen de scan. Hou rekening met 10 a 15 minuten. De resultaten vind je weer in het bestand CBS.log.

Problemen met DISM

Restore operation failed

Je krijgt de volgende melding na een poging tot reparatie:

The restore operation failed. Either the repair source was not found or the component store cannot be repaired. Error: 0x800f081f DISM failed. No operation was performed. For more information, review the log file.

Component store corrupted

Je krijgt deze melding:

Error: 14098 The Component Store has been corrupted.

Meer informatie

In dit Microsoft artikel nog wat meer informatie.

En dit artikel geeft veel voorbeelden en meer toelichting.

Voorbeeld

Op mijn Windows 8 computer vond System File Checker problemen, maar kon ze niet repareren:

C:\WINDOWS\system32>sfc /scannow Beginning system scan. This process will take some time. Beginning verification phase of system scan. Verification 100% complete. Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log. Note that logging is currently not supported in offline servicing scenarios.

DISM vond ook problemen, en zegt dat ze 'repairable' zijn:

C:\WINDOWS\system32>DISM.exe /Online /Cleanup-image /ScanHealth Deployment Image Servicing and Management tool Version: 6.3.9600.17031 Image Version: 6.3.9600.17031 [==========================100.0%==========================] The component store is repairable. The operation completed successfully.

Het uitvoeren van de reparatie-actie levert de volgende uitvoer op:

C:\>DISM.exe /Online /Cleanup-image /RestoreHealth Deployment Image Servicing and Management tool Version: 6.3.9600.17031 Image Version: 6.3.9600.17031 [==========================100.0%==========================] The restore operation completed successfully. The component store corruption was repaired. The operation completed successfully.

En toen ik daarna SFC nog een keer uitvoerde vond die ook geen problemen meer.


Zoeken in de kennisdatabase van Microsoft

Microsoft heeft een zogenaamde Knowledge base, waarin allerlei artikelen zitten over mogelijke problemen. Die artikelen hebben een nummer dat tegenwoordig vaak 7 cijfers lang is.

De artikelen zijn ook te vinden als je zoekt met Google op bv. een foutmelding, maar dan moet je ze maar zien te vinden tussen alle andere bagger (hoewel ze vaak wel vrij hoog in de lijst met resultaten staan). Je kan dus veel beter rechtstreeks op de site van Microsoft support zoeken.

Een voorbeeld van een naam van een artikel is http://support.microsoft.com/kb/2579295/en-us
De code aan het eind (en-us) geeft de taal aan. Hetzelfde artikel, maar dan in het Nederlands, heet http://support.microsoft.com/kb/2579295/nl-nl

De laatste tijd waren een flink aantal van deze artikelen door een vertaalmachine naar het Nederlands vertaald, en dat was goed te merken. De vertaling was van een belabberde kwaliteit. Het zojuist genoemde artikel lijkt echter in redelijk goed Nederlands te zijn opgesteld, dus misschien is Microsoft van deze dwaling (vertaalmachines) teruggekomen.

Als je rechtsboven een aantal zoektermen, of een foutmelding invoert kan je afgezien van het soort artikelen hierboven ook tegen antwoorden op forums aanlopen, met een naam in de trant van
http://answers.microsoft.com/en-us/ie/forum/ie9-windows_vista/internet-explorer-9/da53c66c-b29b-4941-8dc0-d81adf1a181a
of tegen nog heel ander materiaal. Handig is dat mensen punten kunnen geven aan goede antwoorden, zodat je die er dus makkelijker uit kunt halen. Maar je hebt desondanks vaak het meest aan de echte KB-artikelen.

Onderaan de artikelen kan je vaak zien op welke Windows-versies het artikel van toepassing is.

Fix it

Verder staat tegenwoordig bij veel artikelen een icoontje van een soort mechanicien met de tekst Microsoft Fix it. Als je daar op klikt wordt de oplossing voor het probleem in het artikel automatisch doorgevoerd op je PC.

Tenminste, dat is de bedoeling. Ik heb het tot nu toe 1 keer geprobeerd, maar zoals bij ongeveer alles wat Microsoft automatisch probeert te repareren was ook dit weer een mislukking van bijbelse proporties. Ik kreeg de volgende melding:

Troubleshooting cannot proceed The troubleshooter has experienced an unexpected error and cannot continue. Explore additional solutions online Get solutions related to this troubleshooter

Klikken op de link leidt naar een webpagina waar je geen mm verder mee komt.

Maar voor wie nog enig vertrouwen in Microsoft heeft, of wie liever niet zelf gaat zitten prutsen, die kan het proberen. Wie weet...


Probeer schoon opstarten (een clean boot)

Introductie

Net zoals je veilige modus (safe mode) kan gebruiken om te zien of je een PC nog kan starten als dat normaal niet meer lukt (of als je bv. wilt verhinderen dat een virus actief wordt), kan je een clean boot gebruiken om precies te bepalen waar het probleem zit.

Je doet dat door te beginnen met Windows zo minimaal mogelijk te starten. Deze methode is dus onbruikbaar als je Windows helemaal niet meer kunt starten.

De procedure wordt beschreven in de volgende Microsoft Knowledgebase artikelen: 929135 en Engelse versie voor Vista, Windows 7 en Windows 8, en in 310353 en Engelse versie voor Windows XP.

Voor Windows XP is er ook nog artikel 316434 en Engelse versie dat misschien meer over het werkelijke troubleshooten gaat dan de XP-artikelen hierboven.

Het voordeel van de Microsoft-artikelen is dat er ook wat plaatjes bij staan, maar er zitten een paar onduidelijkheden in (afhankelijk van je beginsituatie). Wat ze in de 1e stap proberen te doen (onder Windows 7) lukt tenminste op mijn systeem niet (zonder dat ik iets doe wat zij niet vertellen).

In het Engelse Microsoft-artikel zit zelfs een filmpje waarin de procedure beschreven wordt.

Ik zal proberen de procedure zo simpel mogelijk te beschrijven, en hem op meerdere systemen uit te testen.

N.B.: Onderstaande geldt alleen voor Windows 7!! Voor Windows XP verschilt de procedure nauwelijks, en kan je de combinatie van onderstaande beschrijving en het bovenstaande Microsoft-artikel gebruiken.

Minimale start (Windows 7)

Klik op Start - Uitvoeren (Run), en tik dan in msconfig, gevolgd door Enter

Wat je wilt bereiken is dat programma's die normaal uit zichzelf starten dat nu niet meer doen. Dat doe je door Selectief opstarten (Selective startup) te selecteren. Verder moet alleen het middelste vinkje (bij Opstartonderdelen laden (Load startup items)) weggehaald worden/zijn (de andere 2 moeten er staan!!).
N.B. Niet op Toepassen (Apply) klikken!!!

Op het tabblad Services wil je alle services uitschakelen behalve die van Microsoft. Klik daarvoor eerst op Alle Microsoft-services verbergen (Hide all Microsoft services), en dan op Alles uitschakelen (Disable all)

Klik tenslotte op OK

Herstart nu de PC om te kijken of het probleem verholpen is.

Zo nee, dan bereik je niets met deze methode en kan je de oude waarden terugzetten, zo ja, ga dan verder met de volgende stap.

Testen of een service de boosdoener is

We gaan nu met een test-and-trial methode proberen of 1 van de niet-Microsoft services de oorzaak is.

Start msconfig opnieuw, en ga naar het tabblad Services

Klik weer op Alle Microsoft-services verbergen (Hide all Microsoft services)

Je hebt nu een lijstje met uitgeschakelde niet-Microsoft services op je scherm staan. Stel dat het er 12 zijn, zet dan een vinkje voor 6 van de services.

Herstart de PC opnieuw. Als het probleem wel weer optreedt, dan ligt het dus aan 1 van de 6 services die je hebt ingeschakeld, anders *misschien* aan 1 van de 6 die nog niet is ingeschakeld.

In het 1e geval schakel je er van de 6 weer 3 uit, herstart, etc.
In het 2e geval schakel je er van de 6 uitgeschakelde 3 weer in, herstart, etc.

Uiteindelijk heb je of de boosdoener gevonden, of je hebt ze alle 12 weer ingeschakeld en het probleem treedt nog steeds niet op. Dan heeft het dus niet te maken met een van die 12 services, en kan je doorgaan met de volgende stap.

Testen of een start-programma de boosdoener is

We gaan nu (na een herstart en msconfig starten) hetzelfde proces uithalen met het Opstarten (Startup)-tabblad.

Bij mij staan daar bv. 15 items in. Zet vinkjes voor de helft ervan (bv. 8), herstart, en kijk of het probleem optreedt.

Zo ja, dan zit het probleem bij 1 van de 8, zo nee, dan schakel je nog eens 3 of 4 van de overgebleven 7 in.

Precies hetzelfde liedje als met de services dus.

Als alle start-programma's zijn ingeschakeld, en het probleem treedt nog steeds niet op, dan heb je een hoop werk verricht en ben je geen steek opgeschoten :-).

De oude situatie herstellen

Start msconfig, ga naar het tabblad Algemeen (General), en selecteer Normaal opstarten (Normal startup)

Herstart de PC, en alles zou weer bij het oude moeten zijn.


Vergelijk 2 computers met elkaar

In bepaalde situaties, bv. als een programma niet wil starten, of als het een foutmelding geeft (en al dan niet doorgaat), zou je de volgende strategie kunnen toepassen. Je moet dan wel 2 computers met dezelfde versie van Windows tot je beschikking hebben.

Registreer op beide systemen wat er gebeurt tijdens (ik hou dit even als voorbeeld aan) het fout gaan van een installatie. Je gebruikt daarvoor Process Monitor.

Process Monitor is bepaald geen eenvoudige tool, alleen al vanwege de overweldigende hoeveelheid uitvoer. In 1e instantie zou je een filter kunnen maken zodat alleen alle regels die betrekking hebben op het installatieprogramma vertoond worden. Als dat een .MSI-bestand is zou je moeten kijken naar msiexec.exe (de MicroSoft Installer).

Vervolgens ga je door beide traces heen tot het punt waar ze uit elkaar gaan lopen. In veel gevallen zal alleen de trace van het installatieprogramma niet voldoende informatie geven, en moet je dus het filter weer weghalen. Je krijgt dan wel weer veel meer regels, maar je weet inmiddels rond welke tijd het probleem optreedt.

Mark Russinovich, 1 van de makers van de System Internals tools, beschrijft hier een mooi eenvoudig voorbeeld van hoe je zo'n probleem kan aanpakken.

Hij gebruikt veel duidelijke plaatjes om alle stappen te illustreren, en het hele verhaal is maar ruim 2 A4-tjes. Uiterst leerzaam en zeer aan te raden (zoals veel van zijn artikelen).


Uitvinden waar een GUID (bv. {26EE0668-A00A-44D7-9371-BEB064C98683}) bij hoort

Introductie

Een GUID (Globally Unique IDentifier) is een getal van 16 bytes dat vaak op de (hexadecimale) manier als in de titel wordt geschreven. Aangezien 2 hexadecimale cijfers voor 1 byte staan, zijn het dus groepjes van 4-2-2-2-6 bytes.

GUID's worden geacht wereldwijd uniek te zijn, maar dat is niet gegarandeerd. Ze worden min of meer willekeurig gegenereerd, en gebruikt als identificatie voor allerlei onderdelen in Windows, zoals application identifiers en class identifiers. Veel van deze concepten, zoals classes, komen uit (object-georienteerd) programmeren, en zullen niet-programmeurs dus niet veel zeggen.

Desondanks zijn er veel foutmeldingen en gebeurtenissen (events) in Windows die zo'n GUID bevatten, en je zou dan graag willen weten waar dat GUID mee te maken heeft. Ik kreeg zelf recentelijk een foutmelding met bovenstaande GUID, zonder verwijzing naar een programma o.i.d.

Zoeken in het register

Al deze GUID's zijn in principe gedefinieerd in het register. Pas op dat het register cruciaal is voor Windows, dus breng niet opzettelijk of per ongeluk wijzigingen in het register aan (tenzij je goed weet wat je doet)!!

Zoeken kan in principe geen kwaad, en dat kan als volgt.

Meestal hoef je niet de hele GUID in te tikken (als je hem tenminste niet kan kopiëren en plakken), maar zijn de 1e 4 bytes, of de 1e 2 groepjes (4-2) voldoende.

Met bovengenoemde GUID waren de 1e 4 bytes (26EE0668) inderdaad voldoende geweest. Aan de rechterkant zie je nu een aantal waarden (in mijn geval 7), en toen was snel duidelijk om welk programma het ging.

Ik kreeg o.a. de volgende regels:

Name Type Data (Default) REG_SZ Control Panel System.AppUserModel.ID REG_SZ Microsoft.Windows.ControlPanel System.AppUserModel.RelaunchCommand REG_SZ %SystemRoot%\system32\control.exe

De melding gaat dus over het Configuratiescherm (Control Panel). Het volledige probleem wordt hier beschreven.


Problemen met een DLL verhelpen met REGSVR32

2 types bestanden die ongelooflijk belangrijk zijn in Windows zijn DLL-files en OCX-files.
DLL staat voor Dynamic Link Library, en OCX voor ActiveX Controls (Ole Control eXtension, waarbij OLE weer staat voor Object Linking and Embedding).

Verschillende computerprogramma's voeren vaak dezelfde acties uit. Bijna elk programma moet wel eens een bestand openen of opslaan, moet kunnen afdrukken (printen), etc.

De stukken programma die dat soort acties kunnen doen hoeven niet door elke programmeur opnieuw geschreven te worden, maar zijn door Microsoft ondergebracht in bibliotheekbestanden, de DLL-files. Je hoeft alleen maar de naam van de DLL-file te weten, en de naam van het stukje programma in dat bestand wat je nodig hebt (bv. om iets af te drukken), en je kan vanuit een willekeurig ander programma die programmacode aanroepen.

Informatie over al die bibliotheekbestanden wordt opgeslagen in het register. Ooit is die informatie er in gezet door Windows, of door een later geïnstalleerd programma.

Maar soms gaat er iets mis met die informatie, of raakt er iets in het register corrupt. En in dat geval moet de informatie over het bestand opnieuw op de goede manier in het register gezet worden.

En daarmee komen we bij het programma REGSVR32 (REGistreer SERver). Je kan zo'n bibliotheekbestand nl. goed zien als een server. Het programma dat iets wil afdrukken is de client, en vraagt de server (het DLL-bestand) om het uit te voeren.

De werking van REGSVR32

Een goede beschrijving van het programma vindt je op de site van Microsoft (Engelse versie).

Hier een korte samenvatting, maar ook extra info.

Om te beginnen moet je een commandoregel openen.

Stel we willen nu het bestand henk.dll registreren. Dan tikken we in:
regsvr32 henk.dll
gevolgd door Enter

Eventuele foutmeldingen die je krijgt kan je opzoeken in bovenstaand Microsoft artikel.

Soms moet je eerst deregistreren, om daarna weer te registreren. Deregistreren gaat als volgt:
regsvr32 /u henk.dll
gevolgd door Enter

Problemen met een DLL- of OCX-bestand

Als je weet dat je problemen hebt met een DLL- of OCX-bestand, zoals ik in dit geval (met ActionCenter.dll), kan je proberen het bestand te deregistreren en daarna weer te registreren.

Besef dat dit redelijk riskante acties zijn (ene DLL is belangrijker dan de andere), en dat je Windows er mee om zeep kunt helpen. Maak dus sowieso vooraf een herstelpunt!!!

Voorbeeld

The module "actioncenter.dll" was loaded but the entry-point DllUnregisterServer was not found. Make sure that "actioncenter.dll" is a valid DLL or OCX file and then try again. OK DllUnregisterServer in actioncentercpl.dll succeeded. OK DllRegisterServer in actioncentercpl.dll succeeded. OK

Windows foutcodes (o.a. 0x8.......)

Er zijn 2 hoofdcategorieën foutcodes:

  1. Degenen die met 0x8 beginnen, en na de '8' nog 7 cijfers hebben;
  2. De resterende foutcodes, die uit een normaal getal bestaan.

Van die resterende codes heb ik tot nu toe 5 categorieën kunnen ontdekken:

  1. Codes die je krijgt in Apparaatbeheer ;
  2. Foutcodes bij het installeren van programma's ( Windows Installer)
  3. Een lijst met codes tussen 600 en 800 die met netwerken te maken moeten hebben, maar ook TLS en Winsock foutcodes;
  4. Foutcodes van Taakbeheer (Task Scheduler);
  5. Alle andere (systeem) foutcodes;
  6. Wininet codes (12001 t/m 12156).

Ik beschrijf in dit stuk ook hoe je een code tussen verschillende getalstelsels kan omzetten.

0x8.......

Iedereen zal bij het werken met Windows (bv. tijdens Windows Update) wel eens foutcodes zijn tegengekomen die er uit zien als 0x8007064C

Ze bestaan altijd uit '0x' (om aan te geven dat het om hexadecimale getallen gaat), dan een '8', en tenslotte 7 cijfers en letters tussen 'A' en 'F'. (Soms kan het handig zijn een hexadecimaal getal naar decimaal om te zetten, of omgekeerd, of naar octaal, etc.)

Er zijn ontelbare van deze foutcodes, en bij elke numerieke foutcode (zoals die hierboven) hoort ook een textuele foutmelding die iets begrijpelijker is voor de normale sterveling, zoals ERROR_ILLEGAL_CHARACTER (alleen wordt die meestal niet weergegeven).

Waar toepasselijk zal ik op mijn pagina's een tabel met codes opnemen die op dat onderwerp betrekking hebben (zie bv. de pagina over Windows Update), maar hieronder volgen ook nog een paar links naar zeer uitgebreide lijsten op Internet.

Foutcodes met een andere (normalere) layout dan 0x8.......

Sommige foutcodes (systeem foutcodes) kan je als volgt in iets begrijpelijks vertalen.

Open een commandoregel

Tik in: net helpmsg foutcode, gevolgd door Enter

Probeer bv. net helpmsg 55, en je krijgt:
The specified network resource or device is no longer available.
Deze methode werkt in elk geval in Windows XP, Vista en Windows 7.

Als je liever deze codes op een pagina op Internet wilt opzoeken, dan moet je gaan naar de site van about.com
Daar worden de codes van 1 t/m 15299 beschreven.

Foutcodes in apparaatbeheer

Zie het stuk op de pagina over Apparaatbeheer (Device Management)

Foutcodes bij het installeren van programma's (Windows Installer)

In deze sectie heb ik links naar enige lijsten met codes, de meeste 4-cijferig met een waarde tot maximaal in het begin van de 3000-serie.

Netwerk foutcodes

Verschillende soorten foutcodes die met netwerken te maken hebben (zoals Transport Layer Security en Winsock) kan je op mijn pagina over netwerken vinden.

Foutcodes van Taakbeheer (Task Scheduler)

Zie deze pagina.

Wininet codes (12001 t/m 12156)

Deze codes hebben vooral betrekking op Internet protocollen Gopher, FTP en HTTP. Misschien maken ze ook al deel uit van 1 van de andere lijsten, maar voor de zekerheid neem ik ze hier toch maar op.

Ze staan beschreven in Microsoft artikel 193625.

Getallen omzetten van decimaal naar hexadecimaal e.d.

Er zijn verschillende getalstelsels. De niet-wiskundigen onder ons hoeven zich hier niet druk over te maken, behalve dan dat het soms (bv. bij foutcodes) handig kan zijn getallen uit het ene stelsel om te zetten in een ander.

De meest gebruikte stelsels zijn (in volgorde van belangrijk naar minder) decimaal (beginnen met een cijfer tussen 1 en 9), octaal (beginnen met een 0), hexadecimaal (beginnen met 0x) en binair (geen idee hoe die weergegeven worden). Binaire getallen zijn heel lang, omdat je een getal met alleen maar nullen en enen mag weergeven.

Om ze om te zetten klik je op Start - Uitvoeren (Run), en tik dan in calc, gevolgd door Enter

Klik op Beeld (View) - Wetenschappelijk (Scientific) onder Windows XP, en op Weergave (View) - Programmeren (Programmer) onder Windows 7.

Klik op Hex, Dec, Oct of Bin, afhankelijk van het getal waarmee je begint (dus bv. Hex als je zo'n '0x8.......' getal wilt omzetten naar decimaal).

Voer het getal in, en klik dan op het getalstelsel waarnaar je het getal wilt omzetten. That's all, folks.


Case: Een (bijna) hangende XP

Beschrijving van het probleem

Ik word al tijden geteisterd door een Windows XP PC die of helemaal hangt (reageert nergens meer op), of zodanig hangt dat er soms een kwartier of langer helemaal niets gebeurt als je een toets indrukt of ergens op klikt.

Dat maakt troubleshooten van deze PC ook bijzonder lastig. Op zo'n moment wil ik bv. graag kunnen zien of er een programma is dat de CPU zwaar belast.

Ik heb zelfs meerdere keren meegemaakt dat na een herstart de PC goed lijkt te functioneren, maar ik een bepaald programma start (bv. Autoruns) van Microsoft, en de zaak weer hangt. En het is vrijwel uitgesloten dat dit programma de oorzaak is.

Beschrijving van het opsporen van de oorzaak

Zoveel mogelijk overbodige programma's uitschakelen

Ik geloof dat ik uiteindelijk in veilige modus alle niet echt noodzakelijke programma's heb uitgeschakeld.

Verder voorlopig maar even Autoruns niet gestart, hoewel hij het nu wel weer probleemloos doet.

Onderdelen testen

Er zouden bestanden van Windows corrupt kunnen zijn geraakt. De beste manier om dat te testen is System File Checker. Het leverde niets op.

De PC heeft 2 fysieke disks en 3 logische (disks/partities). Als daar rotte plekken op zitten zou dat ook voor veel vertraging kunnen zorgen.

Ik heb er met chkdsk inmiddels 2 getest, maar de belangrijkste (Windows)-partitie nog niet. Ik heb de R-optie gebruikt, zodat ook de oppervlakte van de schijf getest wordt, en niet alleen de bestandsstructuren.

Ik heb het devmgmt console geopend, maar Apparaatbeheer (Device Management) laat ook geen vreemde dingen zien.

Bestanden en programma's analyseren

Het is nu 3 maart, en de volgende stap die ik ga zetten is goed onderzoeken wat er nu nog actief is.

Overigens is sinds het uitschakelen van de overbodige programma's nog geen hang meer voorgekomen.

Wat wel opvalt is dat de service van mijn virusprogramma MBAM (MBAMservice) wel erg vaak erg veel CPU-tijd gebruikt (20 a 40%).


Troubleshooting Microsoft Windows Event Logs (eventid.net)
Veel technische informatie over bijna alle event codes.
Gebruikers vullen hier hun eigen ervaringen in over de omstandigheden waarin zij tegen een bepaalde foutmelding zijn aangelopen. Verder zijn er verwijzingen naar artikelen in de Microsoft kennisdatabase.
89 pagina's met Windows 32 error codes
De lijst is doorzoekbaar, maar ik vind het allemaal niet erg gebruikersvriendelijk.
Ruim 5000 foutcodes
Deze lijken vooral te maken te hebben met een of ander grafisch programma, wat niet wil zeggen dat ze niet ook op andere plaatsen in Windows zouden kunnen optreden.
Netwerk foutcodes (network error messages)
Een lijst met foutcodes met waardes tussen 600 en 800 die op een pagina over Windows XP staan.
NTSTATUS codes van de Windows .NET Server 2003 RC2 DDK
Een vrij lange lijst met 8-cijferige hexadecimale codes, waaronder ook een aantal van de 0x8-codes.
WMI Error Constants
Een lijst met 0x8-error-codes die met WMI te maken hebben.
WinSxS Folder (Component Store) - Analyze in Windows 8.1
Met DISM de status van de WinSxS-map bekijken. Dit is een zeer cruciale map in Windows. De info is voor Windows 8.1 en hoger (niet in Windows 8!!).

    Tweeten

© Henk Dalmolen
Reageer via E-mail (dalmolen@xs4all.nl)

Deze pagina is voor het laatst gewijzigd op: 22-9-2016 13:32:30