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 :
- Le cadre de pile ayant l'état
Exceptionindique où s'est produit le plantage. Dans cet exemple, le plantage s'est produit dans la fonctionJava_dumpTest_runTest. - La valeur sous Service pour chaque zone DSA est la chaîne de service. La chaîne est de la forme
jyymmdd, oùjest l'identificateur du propriétaire du code etyymmddest 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.