Dr. Watson är en programfelsökning för Microsoft Windows operativsystem . Den heter vanligtvis , eller , beroende på versionen av Windows. Felsökaren har fått sitt namn från Dr. John Watson i Arthur Conan Doyles Sherlock Holmes - skrifter , eftersom syftet med felsökaren är att samla in de symptom som är förknippade med ett fel. Det ursprungliga namnet på detta diagnostiska verktyg var "Sherlock" [1] . Användningen av ordet "Watson" utökades senare till att inkludera insamling och inlämnande av feedback från användare av programvaran [2] . drwatson.exedrwtsn32.exedwwin.exe
Information ( felrapport ) insamlad av Dr. Watson är teknisk information som mjukvaruutvecklare behöver för att diagnostisera orsaken till ett fel. En textfil ( Drwtsn32.log ) skapas vid den tidpunkt då ett fel inträffar och kan levereras till mjukvarusupportpersonal på det sätt som de föredrar. En minidump-fil kan också skapas, en binär fil som kan öppnas och analyseras med hjälp av ett felsökningsprogram. Dr. Watson kan fastställa den exakta platsen för felet i programkoden om de nödvändiga symbolfilerna är tillgängliga och sökvägar är konfigurerade för att söka efter dessa filer.
I det ögonblick då ett kritiskt fel uppstår i en Windows-applikation, söker systemet efter en programvarufelhanterare . En programmatisk felhanterare är en vanligen registrerad systemfunktion som anropas när ett undantag inträffar i programmet. Om systemet inte upptäcker en registrerad felhanterare, verifierar systemet att programmet för närvarande inte är i felsökningsläge och felet anses vara ohanterat. Systemet söker sedan i Windows-registret efter information om installerade felsökare, där Dr. Watson. En tredje parts debugger kan också användas istället för Dr. Watson. Till exempel innehåller Watcoms C-kompilator ett liknande felhanteringsverktyg som heter "Dr. Watcom" [3] .
Sedan Windows Vista har namnet Dr. Watson har ersatts av "Problem Reports and Solutions" [4] .
En felrapport skickas med hjälp av Windows Error Reporting -tjänst till en speciell Microsoft-server, där alla rapporter sorteras och lagras i en centraliserad databas. För att få tillgång till rapporter för en viss applikation behöver utvecklaren registrera sig på Microsofts server, varefter han får möjlighet att analysera felrapporter.
Google Breakpad [5] är ett bibliotek med öppen källkod för flera plattformar för att hantera undantag och rapportera fel. Den används av den populära webbläsaren Firefox för att leverera felrapporter från användare.
CrashRpt [6] -biblioteket är också utformat för att samla in och skicka felmeddelanden på användarens sida. Det är ett bibliotek med öppen källkod, men till skillnad från Breakpad är det bara för Windows -plattformen .