Détermination de la fonction défaillante

La méthode la plus simple pour identifier l'emplacement de l'exception consiste à consulter le vidage CEEDUMP ou Java. Ces deux rapports indiquent l'emplacement de l'exception et la trace de pile native de l'unité d'exécution erronée.

Les mêmes informations peuvent être obtenues à partir du vidage de transaction à l'aide de l'afficheur de vidage (voir Dump viewer (Dump viewer)), du débogueur dbx ou de l'exit IPCS LEDATA VERB.

Le CEEDUMP montre la pile C (ou pile native, qui est distincte de la pile Java™ générée par la machine virtuelle Java). Les cadres de pile C sont également connus sous z/OS® en tant que zones de stockage dynamique (DSA), car une zone de stockage dynamique est le nom du bloc de contrôle que LE fournit en tant que cadre de pile natif pour un programme C/C + +. La trace suivante d'un vidage CEEDUMP indique l'emplacement de l'échec :
Traceback:
    DSA       Entry       E  Offset  Load Mod  Program Unit  Service  Status
    00000001  __cdump     +00000000  CELQLIB                 HLE7709  Call
    00000002  @@WRAP@MULTHD
                          +00000266  CELQLIB                          Call
    00000003  j9dump_create
                          +0000035C  *PATHNAM                j040813  Call
    00000004  doSystemDump+0000008C  *PATHNAM                j040813  Call
    00000005  triggerDumpAgents
                          +00000270  *PATHNAM                j040813  Call
    00000006  vmGPHandler +00000C4C  *PATHNAM                j040813  Call
    00000007  gpHandler   +000000D4  *PATHNAM                j040813  Call
    00000008  __zerro     +00000BC4  CELQLIB                 HLE7709  Call
    00000009  __zerros    +0000016E  CELQLIB                 HLE7709  Call
    0000000A  CEEHDSP     +00003A2C  CELQLIB   CEEHDSP       HLE7709  Call
    0000000B  CEEOSIGJ    +00000956  CELQLIB   CEEOSIGJ      HLE7709  Call
    0000000C  CELQHROD    +00000256  CELQLIB   CELQHROD      HLE7709  Call
    0000000D  CEEOSIGG    -08B3FBBC  CELQLIB   CEEOSIGG      HLE7709  Call
    0000000E  CELQHROD    +00000256  CELQLIB   CELQHROD      HLE7709  Call
    0000000F  Java_dumpTest_runTest
                          +00000044  *PATHNAM                         Exception
    00000010  RUNCALLINMETHOD
                          -0000F004  *PATHNAM                         Call
    00000011  gpProtectedRunCallInMethod
                          +00000044  *PATHNAM                j040813  Call
    00000012  j9gp_protect+00000028  *PATHNAM                j040813  Call
    00000013  gpCheckCallin
                          +00000076  *PATHNAM                j040813  Call
    00000014  callStaticVoidMethod
                          +00000098  *PATHNAM                j040813  Call
    00000015  main        +000029B2  *PATHNAM                j904081  Call
    00000016  CELQINIT    +00001146  CELQLIB   CELQINIT      HLE7709  Call

    DSA       DSA Addr          E  Addr             PU Addr           PU Offset   Comp Date Attributes
    00000001  00000001082F78E0  000000001110EB38    0000000000000000  ********    20040312  XPLINK  EBCDIC  POSIX  IEEE
    00000002  00000001082F7A20  00000000110AF458    0000000000000000  ********    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    00000003  00000001082F7C00  0000000011202988    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000004  00000001082F8100  0000000011213770    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000005  00000001082F8200  0000000011219760    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000006  00000001082F8540  000000007CD4BDA8    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000007  00000001082F9380  00000000111FF190    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000008  00000001082F9480  00000000111121E0    0000000000000000  ********    20040312  XPLINK  EBCDIC  POSIX  IEEE
    00000009  00000001082FA0C0  0000000011112048    0000000000000000  ********    20040312  XPLINK  EBCDIC  POSIX  IEEE
    0000000A  00000001082FA1C0  0000000010DB8EA0    0000000010DB8EA0  00003A2C    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    0000000B  00000001082FCAE0  0000000010E3D530    0000000010E3D530  00000956    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    0000000C  00000001082FD4E0  0000000010D76778    0000000010D76778  00000256    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    0000000D  00000001082FD720  0000000010E36C08    0000000010E36C08  08B3FBB0    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    0000000E  00000001082FE540  0000000010D76778    0000000010D76778  00000256    20040312  XPLINK  EBCDIC  POSIX  Floating Point
    0000000F  00000001082FE780  00000000122C66B0    0000000000000000  ********    20040802  XPLINK  EBCDIC  POSIX  IEEE
    00000010  00000001082FE880  000000007CD28030    0000000000000000  ********    ^C"^22^04^FF^FDu^58  XPLINK  EBCDIC  POSIX  IEEE
    00000011  00000001082FEC80  000000007CD515B8    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000012  00000001082FED80  00000000111FF948    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000013  00000001082FEE80  000000007CD531A8    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
    00000014  00000001082FEF80  000000007CD4F148    0000000000000000  ********    20040817  XPLINK  EBCDIC  POSIX  IEEE
Remarque :
  1. Le cadre de pile ayant l'état Exception indique où s'est produit le plantage. Dans cet exemple, le plantage s'est produit dans la fonction Java_dumpTest_runTest.
  2. La valeur sous Service pour chaque zone DSA est la chaîne de service. La chaîne est de la forme jyymmdd, où j est l'identificateur du propriétaire du code et yymmdd est la date de génération. Une chaîne de service ayant ce format indique que la fonction fait partie de la JVM. Toutes les fonctions ont la même date de génération, sauf si vous avez été fourni avec une dll par le service IBM® à des fins de diagnostic ou de correctif temporaire.