Aller au contenu

Message d'erreur IBM i (AS/400)

MCH6801

Erreur de domaine d'objet ou de protection de mémoire pour déplacement &5 dans objet &1.

Gravité 40 · Fin anormale du programme ou de la fonction

Cause

Un programme a tenté d'utiliser une instruction interdite, d'accéder à un objet du domaine système ou de faire un mauvais usage d'une page protégée. Le type de violation est &2. Le type de violation indique le type d'erreur. 1-Violation du domaine d'un objet 2-Violation de test TESTPTA (Test Pointer Target Addressability) 3-Erreur de protection en lecture 3-Erreur de protection en écriture 5-Erreur de protection en exécution La classe d'espace est &3. La classe d'espace désigne le type d'espace pour une erreur de protection de mémoire ou une violation de TESTPTA pour un pointeur d'espace : 00-Espace associé principal (objets espaces inclus). 01-Espace associé secondaire. 02-Espace de traitement implicite pour mémoire automatique. 03-Espace de traitement implicite pour mémoire statique. 04-Espace de traitement implicite pour mémoire segmentée à base de groupe d'activation. 05-Espace constant. 06-Espace pour mémoire segmentée à base d'identificateur. 07-Déplacement d'espace mémoire à téraoctets &5. 08-Espace mémoire à téraoctets pour adresse de mémoire i5/OS PASE &5. &6 est un pointeur vers une erreur de protection ou une violation de TESTPTA pour un pointeur d'espace. Certaines violations peuvent être supprimées à des niveaux de sécurité système peu élevés.

Variables du message

Quand le système envoie le message, chaque variable est remplacée par une valeur réelle : un nom d'objet, de bibliothèque, un code...

VariableTypeLongueur
&1 *SYP variable
&2 *UBIN 2
&3 *HEX 1
&5 *HEX 8
&6 *HEX 16

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(MCH6801) MSGF(QSYS/QCPFMSG)

L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :

MONMSG MSGID(MCH6801) EXEC(DO)
  /* traitement de l'erreur */
ENDDO