DR. Watson on sovellusvirheenkorjausohjelma Microsoft Windows -käyttöjärjestelmille . Se on yleensä nimeltään , tai Windows-versiosta riippuen. Debuggeri on saanut nimensä tohtori John Watsonista Arthur Conan Doylen Sherlock Holmes -kirjoituksista , koska debuggerin tarkoitus on kerätä virheeseen liittyvät oireet. Tämän diagnostiikkatyökalun alkuperäinen nimi oli "Sherlock" [1] . Sanan "Watson" käyttöä laajennettiin myöhemmin sisältämään ohjelmiston käyttäjien palautteen kerääminen ja lähettäminen [2] . drwatson.exedrwtsn32.exedwwin.exe
Tiedot ( virheraportti ) on kerännyt Dr. Watson on teknistä tietoa, jota ohjelmistokehittäjät tarvitsevat diagnosoidakseen virheen syyn. Tekstitiedosto ( Drwtsn32.log ) luodaan virheen ilmetessä ja voidaan toimittaa ohjelmistotukihenkilöstölle heidän haluamallaan tavalla. Voidaan myös luoda minidump-tiedosto, binääritiedosto, joka voidaan avata ja analysoida virheenkorjausohjelmalla. DR. Watson voi määrittää virheen tarkan sijainnin sovelluskoodissa, jos tarvittavat symbolitiedostot ovat saatavilla ja polut on määritetty etsimään näitä tiedostoja.
Kun Windows-sovelluksessa tapahtuu kriittinen virhe , järjestelmä etsii ohjelmistovirheenkäsittelijää . Ohjelmallinen virhekäsittelijä on yleisesti rekisteröity järjestelmätoiminto , jota kutsutaan, kun ohjelmassa tapahtuu poikkeus. Jos järjestelmä ei havaitse rekisteröityä virheenkäsittelijää, järjestelmä varmistaa, että ohjelma ei ole parhaillaan debug-tilassa ja virhe katsotaan käsittelemättömäksi. Järjestelmä etsii sitten Windowsin rekisteristä tietoja asennetuista virheenkorjauslaitteista, joissa Dr. Watson. Kolmannen osapuolen debuggeria voidaan käyttää myös Dr. Watson. Esimerkiksi Watcomin C-kääntäjä sisältää samanlaisen virheenkäsittelytyökalun nimeltä "Dr. Watcom" [3] .
Windows Vistasta lähtien nimi Dr. Watson on korvattu sanalla "Problem Reports and Solutions" [4] .
Virheraportti lähetetään Windows Error Reporting -palvelun avulla erityiselle Microsoft-palvelimelle, jossa kaikki raportit lajitellaan ja tallennetaan keskitettyyn tietokantaan. Päästäkseen tietyn sovelluksen raportteihin kehittäjän on rekisteröidyttävä Microsoft-palvelimelle, minkä jälkeen hän saa mahdollisuuden analysoida virheraportteja.
Google Breakpad [5] on monikäyttöinen avoimen lähdekoodin kirjasto, joka käsittelee poikkeuksia ja raportoi virheistä. Suosittu Firefox -selain käyttää sitä virheraporttien toimittamiseen käyttäjiltä.
CrashRpt [6] -kirjasto on myös suunniteltu keräämään ja lähettämään virheilmoituksia käyttäjän puolelta. Se on avoimen lähdekoodin kirjasto, mutta toisin kuin Breakpad, se on vain Windows - alustalle .