Dumping

### Dumps et fichiers de log WHDLoad

Principalement à des fins de debug, WHDLoad est capable de créér plusieurs types de fichiers dumps (images mémoire/registres) et de log (trace).

#### Dump mémoire

Un dump mémoire est un fichier contenant toute la mémoire utilisée par le programme installé. La taille du fichier dépend du programme installé (égal à la valeur de ws_BaseMemSize dans la structure du Slave). Un dump mémoire est créé si la touche de debug (DebugKey) est pressée ou si en cas d'erreur le bouton Coredump est cliqué. Le nom du fichier dump créé est ".whdl_memory". L'emplacement par défaut est "PROGDIR:" mais peut être modifié à l'aide de l'option CoreDumpPath. Un fichier existant du même nom sera écrasé. Si le programme installé utilise de la mémoire Fast, celle-ci est sauvegardée sous le nom ".whdl_expmem".

#### Dump des registres

Le dump des registres contient l'état complet du CPU (incluant le MMU), les CIA et les coprocesseurs (custom chips). Certains registres custom et cia ne sont pas lisibles. Ils ne sont contenus dans le fichier de dump que si le mode Snoop est actif. Les informations sont écrites dans un fichier ASCII avec mise en forme utilisant des séquences d'échappement (utilisant CSI - Control Sequence Introducer, 155). Pour visualiser le fichier, un programme qui comprend les séquences d'échappement est recommandé (ex: More, MuchMore, Multiview, ...). Le nom du fichier dump créé est ".whdl_register". L'emplacement par défaut est "PROGDIR:" mais peut être modifié à l'aide de l'option CoreDumpPath. Si un fichier portant le même nom existe déjà, le dump sera ajouté à la suite, sinon un nouveau fichier sera créé.

#### Fichier dump complet

Ce fichier dump est un fichier IFF qui contient toutes les informations des fichiers dump listés ci-dessus afin d'être utilisé par d'autres applications. La structure du fichier est décrite dans `whddump.i`. Pour le moment, les applications WHDLoadGCI (graphical coders interface) et SP (save picture) utilisent le fichier dump complet. Le nom de ce fichier est ".whdl_dump". Le chemin d'accès par défaut est "PROGDIR:" mais il peut être changé avec l'option CoreDumpPath. Le fichier existant du même nom sera écrasé.

#### Log des accès aux fichiers

Tous les accès au disque sont tracés si l'option FileLog a été activée. Cette fonctionnalité est très utile pour analyser les opérations effectuées par le programme installé sur le disque, dans un souci de debug ou d'optimisation. Les fonctions resload suivantes créent une entrée dans le fichier de log:

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

Chaque accès à un fichier par les fonctions ci-dessus créé une ligne dans le fichier de log, cette ligne identifie la fonction appelée, un crc de chaque lecture/écriture de données, les paramètres, et le résultat. WHDLoad rassemble les entrées log dans un buffer interne. Le buffer est vidé en sortie de programme, ou pendant un accès s'il est plein. Les informations sont écrites dans un fichier ASCII. Le nom du fichier dump créé est ".whdl_filelog". L'emplacement par défaut est "PROGDIR:" mais peut être modifié à l'aide de l'option CoreDumpPath.