Dumping

### Αρχεία dump και καταγραφής του WHDLoad

Κυρίως για λόγους debugging το WHDLoad μπορεί να δημιουργήσει διάφορα αρχεία dump και καταγραφής.

#### Dump μνήμης

Ένα dump μνήμης είναι όλη η μνήμη που χρησιμοποιείται από το εγκατεστημένο πρόγραμμα γραμμένη σε ένα αρχείο. Το μέγεθος του dump εξαρτάται από το εγκατεστημένο πρόγραμμα (είναι ίσο με τη τιμή της ws_BaseMemSize στη δομή του Slave). Ένα dump μνήμης θα δημιουργηθεί εάν το DebugKey πατηθεί ή μετά από ένα σφάλμα πατηθεί το κουμπί CoreDump. Το όνομα του αρχείου του dump μνήμης που θα δημιουργηθεί είναι ".whdl_memory". Η προεπιλεγμένη τοποθεσία είναι "PROGDIR:" αλλά μπορεί να αλλάξει με την επιλογή CoreDumpPath. Αν υπάρχει αρχείο με την ίδια ονομασία θα επανεγγραφεί πάντα. Εάν το εγκατεστημένο πρόγραμμα χρησιμοποιεί επιπλέον Fast-Memory, θα αποθηκευθεί κάτω από το όνομα αρχείου ".whdl_expmem".

#### Dump καταχωρητών

Το dump καταχωρητών περιέχει την πλήρη κατάσταση του CPU (μαζί με το MMU), των Cia και των Custom chips. Μερικοί καταχωρητές των Cia και Custom δεν μπορούν να διαβαστούν, αυτοί περιέχονται στο αρχείο dump μόνο αν είναι ενεργό το Snoop mode. Οι πληροφορίες θα γραφούν σε ένα αρχείο ASCII με μερικές σημειώσεις με χρήση Escape sequences (χρησιμοποιώντας CSI - Control Sequence Introducer, δεκαδικό 155). Για την εμφάνιση, συνίσταται ένα πρόγραμμα που να υποστηρίζει Escape sequences (π.χ. More, MuchMore, MultiView, ...). Το όνομα του αρχείου dump είναι ".whdl_register", η προεπιλεγμένη τοποθεσία είναι "PROGDIR:" αλλά μπορεί να αλλαχθεί με την επιλογή CoreDumpPath. Εάν υπάρχει ήδη αρχείο με το ίδιο όνομα, το dump θα προστεθεί - διαφορετικά θα δημιουργηθεί νέο αρχείο.

#### Complete dump file

Το ολοκληρωμένο αρχείο dump είναι ένα αρχείο IFF που περιέχει τις πληροφορίες όλων των προηγουμένων αρχείων dump. Προορίζεται για χρήση από άλλες εφαρμογές. Η δομή του αρχείου περιγράφεται σε ένα επιπλέον αρχείο include με την ονομασία `whddump.i`. Προς το παρών οι εφαρμογές WHDLoadGCI (graphical coders interface) και SP (save picture) διαβάζουν το ολοκληρωμένο αρχείο dump. Το όνομα του ολοκληρωμένου αρχείου dump που δημιουργείται είναι ".whdl_dump". Η προεπιλεγμένη τοποθεσία είναι "PROGDIR:" αλλά μπορεί να αλλαχθεί με την επιλογή CoreDumpPath. Τυχόν ήδη υπαρκτό αρχείο θα επανεγγράφεται πάντα.

#### Αρχείο καταγραφής πρόσβασης

Όλες οι προσβάσεις δίσκου θα καταγραφούν αν έχει ενεργοποιηθεί η επιλογή FileLog. Αυτή η λειτουργία θα είναι πολύ χρήσιμη για την ανάλυση των λειτουργειών δίσκου του εγκατεστημένου προγράμματος για λόγους debugging και βελτιστοποίησης. Η ακόλουθες συναρτήσεις resload θα δημιουργήσουν μία καταχώρηση στο αρχείο καταγραφής:

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

Κάθε πρόσβαση αρχείου μέσω των παραπάνω συναρτήσεων δημιουργεί μία γραμμή στο αρχείο καταγραφής, η γραμμή αναφέρει την καλεσμένη συνάρτηση, ένα crc των δεδομένων που διαβάστηκαν/γράφηκαν, τις παραμέτρους και το αποτέλεσμα. Το WHDLoad θα συλλέξει τις καταχωρήσεις της καταγραφής σε ένα εσωτερικό buffer. Ο buffer θα καθαριστεί στην έξοδο ή κατά μία πρόσβαση αν έχει γεμίσει. Οι πληροφορίες θα γραφούν σε ένα αρχείο ASCII, το όνομα του αρχείου dump είναι ".whdl_filelog", η προεπιλεγμένη τοποθεσία "PROGDIR:" αλλά μπορεί να αλλάξει με την επιλογή CoreDumpPath.