Dr. Watson je aplikační debugger pro operační systémy Microsoft Windows . Obvykle se jmenuje drwatson.exe, drwtsn32.exenebo dwwin.exe, v závislosti na verzi Windows. Ladicí program má své jméno od Dr. Johna Watsona ve spisech Sherlocka Holmese Arthura Conana Doyla , protože účelem debuggeru je shromažďovat příznaky spojené s chybou. Původní název tohoto diagnostického nástroje byl „Sherlock“ [1] . Použití slova „Watson“ bylo později rozšířeno o shromažďování a odesílání zpětné vazby od uživatelů softwaru [2] .
Informace ( hlášení o chybě ) shromážděné Dr. Watson je technická informace, kterou potřebují vývojáři softwaru k diagnostice příčiny chyby. Textový soubor ( Drwtsn32.log ) je vytvořen v okamžiku, kdy dojde k chybě a může být doručen pracovníkům softwarové podpory preferovaným způsobem. Lze také vytvořit soubor minidump, binární soubor, který lze otevřít a analyzovat pomocí debuggeru. Dr. Watson může určit přesné umístění chyby v kódu aplikace, pokud jsou k dispozici požadované soubory symbolů a cesty jsou nakonfigurovány pro vyhledávání těchto souborů.
V okamžiku, kdy dojde ke kritické chybě v aplikaci pro Windows, systém hledá obslužný program softwarových chyb . Obslužná rutina programových chyb je běžně registrovaná systémová funkce , která se volá, když v programu dojde k výjimce. Pokud systém nezjistí registrovanou obslužnou rutinu chyb, systém ověří, že program není aktuálně v režimu ladění a chyba je považována za neošetřenou. Systém poté hledá v registru Windows informace o nainstalovaných ladicích programech chyb, kde Dr. Watson. Debugger třetí strany lze také použít místo programu Dr. Watson. Například kompilátor C Watcom obsahuje podobný nástroj pro zpracování chyb s názvem „Dr. Watcom" [3] .
Od Windows Vista se jméno Dr. Watson byl nahrazen "Problémovými zprávami a řešeními" [4] .
Hlášení o chybě je odesíláno pomocí služby Windows Error Reporting na speciální server společnosti Microsoft, kde jsou všechna hlášení roztříděna a uložena v centralizované databázi. Aby měl vývojář přístup k reportům pro konkrétní aplikaci, musí se zaregistrovat na serveru Microsoft, poté dostane příležitost analyzovat chybová hlášení.
Google Breakpad [5] je multiplatformní open source knihovna pro zpracování výjimek a hlášení chyb. Používá jej populární prohlížeč Firefox k doručování chybových hlášení od uživatelů.
Knihovna CrashRpt [6] je také navržena pro shromažďování a odesílání chybových zpráv na straně uživatele. Je to knihovna s otevřeným zdrojovým kódem, ale na rozdíl od Breakpadu je pouze pro platformu Windows .