Secure Office Trace

Secure Office innehåller en avancerad styrning av vilken modul som ska skriva trace information och hur mycket information som ska skrivas. Varje modul som laddas in läser upp ett 32-bitars flagg-fält från registret och detta fält används sedan till att besluta om en trace-rad skall skrivas eller inte.

Debug flaggor

Globala/Lokala flaggor. Dessa flaggor går att sätta både globalt och lokalt för en modul.

0×000001 TRC_FATAL Logga fatala fel
0×000002 TRC_ERROR Logga fel
0×000004 TRC_MINOR_ERROR eller TRC_LOGIC Logga logiska beslut samt fel som hanteras i koden.
0×000008 TRC_WARNING eller TRC_FLOW Logga övergripande flöde samt varningar.
0×000010 TRC_INFO Logga information som behandlas.

Lokala flaggor, går endast att sätta per modul. Genererar oftast alldeles för mycket information.

0×000100 TRC_DFLOW Logga detaljerat flöde genom koden.
0×000200 TRC_VERBOSE/td> Utökad loggning med mera information
0×008000 TRC_DUMP Dumpa ut datainnehåll i protokoll mm.
0×010000 TRC_CTOR Logga alla nyskapade objekt (Constructor/Destructor)
0×020000 TRC_REFCNT Logga alla AddRef/Release

Modul flaggor

Varje modul letar under HKEY_LOCAL_MACHINE\Software\Secure Office\Debug efter sitt namn. Om man då vill ha en trace från OSCA.DLL så skapar man en nyckel som heter osca och därunder lägger man upp ett DWORD DebugFlags som sätts enlig hur mycket trace som önskas.

Globala flaggor

Om man skapar en nyckel * under HKEY_LOCAL_MACHINE\Software\Secure Office\Debug så kan man styra de lägsta 8 bitarna av DebugFlags för alla moduler.

Styrning av destination

Normalt så skrivs trace informationen till systemets debugger genom funktionen OutputDebugString. Detta går då att plocka upp med t.ex DebugView från sysinternals.

Det går också att begära att all trace skrivs till en fil på disken. För att stryra detta så skapas en sträng i registret under HKEY_LOCAL_MACHINE\Software\Secure Office som heter DbgTraceFile. Denna sätts till namnet på en fil som all trace ska skrivas i. Tänk på att under Vista och Windows 7 så får inte en normal användare skriva i rooten på C:.

This entry was posted in FAQ. Bookmark the permalink. Both comments and trackbacks are currently closed.