Dumping

### WHDLoad's dump and logfiler

Hovedsagligt til debbuging kan WHDLoad generere diverse dump og logfiler.

#### Memory dump

Ved et memory dump bliver al den hukommelse, et installeret program bruger, skrevet til en fil. Størrelsen af dump'et afhænger af det installerede program (som er størrelsen af ws_BaseMemSize i slave folderen). Et memory dump vil blive genereret hvis Debug tasten bliver trykket eller hvis CoreDump knappen bliver trykket efter en fejl. Navnet på memory dump filen er ".whdl_memory". Standard placeringen er "PROGDIR:" men kan ændres vha. CoreDumpPath opsætningsmuligheden. En eksisterende fil med det samme navn vil altid blive overskrevet. Hvis det installerede program bruger yderligere Fast-Memory gemmes det under filnavnet ".whdl_expmem".

#### Register dump

Register dumpet indeholder den absolutte status af CPU (inklusiv MMU), Cia og special chipsene. Nogle Cia og special registre er ikke læsbare. Disse er kun inkluderet i dump filen hvis Snoop tilstand var aktiv. Informationen vil blive skrevet til en ASCII fil med fremhævninger lavet via escape sekvenser (ved at bruge CSI - Control Sequence Introducer, decimal 155). For at se filen anbefales det at bruge et program der understøtter escape sekvenser (f.eks. More, MuchMore, MultiView, ...). Navnet på dump filen er ".whdl_register", standard lokationen er "PROGDIR:" men kan ændres v.h.a. CoreDumpPath opsætningen. Hvis der allederede findes en fil med det samme navn vil dump'et blive skrevet til slutningen af filen - ellers vil en ny fil blive oprettet.

#### Komplet dump fil

Den komplette dump fil er en IFF fil der indeholder alle tidligere dump filers informationer. Den er beregnet til at blive brugt af andre applikationer. Filens struktur er beskrevet i en ekstra inkluderet fil kaldet `whddump.i`. På nuværende tidspunkt læser applikationerne WHDLoadGCI (graphical coders interface) og SP (save picture) hele dump filen. Navnet på den komplette dump fil der genereres er ".whdl_dump". Standard lokationen er "PROGDIR:" men kan ændres med indstillingen CoreDumpPath. En eksisterende fil vil altid blive overskrevet.

#### Fil tilgangs log

Al tilgang til filer vil blive logget hvis FileLog valgmuligheden er aktiveret. Denne feature vil være meget brugbar til at analysere hvordan et installeret program tilgår disken med henblik på debugging og optimering. Den følgende resload funktion vil generere et punkt i log filen:

- resload_DeleteFile
- resload_DiskLoad
- resload_Examine
- resload_ExNext
- resload_GetFileSize
- resload_GetFileSizeDec
- resload_ListFiles
- resload_LoadFile
- resload_LoadFileDecrunch
- resload_LoadFileOffset
- resload_SaveFile
- resload_SaveFileOffset

Hver fil tilgang der gør brug af funktionerne herover genererer en linie i logfilen, linien identificerer den kaldte funktion, en crc af den læste/skrevne data, parametrene og resultatet. WHDLoad vil samle log resultaterne ind i en intern buffer. Bufferen vil blive flushed ved afslutning eller når en fil tilgås hvis bufferen er fyldt. Informationen vil blive skrevet til en ASCII fil, der vil få navnet ".whdl_filelog", standard vil den blive lagt i "PROGDIR:" men kan blive ændret v.h.a. CoreDumpPath opsætningsmuligheden.