Conditions de dépassement de pile dans Windows
Dans certains cas, un débordement de pile provoque l'échec de la génération des vidages.
Les dépassements de capacité de la pile sous Windows sont identifiés par la valeur
c00000fd
pour ExceptionCode , comme illustré dans la sortie suivante:Unhandled exception
Type=Unhandled trap vmState=0x00040000
J9Generic_Signal_Number=00000040 ExceptionCode=c00000fd ExceptionAddress=7F646CA7
ContextFlags=0001003f
Handler1=7FEE9C60 Handler2=7FEC9770
EDI=23CB4DCC ESI=23CB4DCC EAX=3F286561 EBX=23CAFF30
ECX=23C09CE4 EDX=7F65ED78
EIP=7F646CA7 ESP=24033000 EBP=2403303C EFLAGS=00010202
Module=failing_module.dll
Module_base_address=7F640000 Offset_in_DLL=00006ca7
Target=2_40_20080926_023633_lHdSMr (Windows Server 2003 5.2 build 3790
Service Pack 2)
CPU=x86 (2 logical CPUs) (0x3ff78000 RAM)
L'ampleur du débordement détermine si la génération du vidage aboutit, échoue partiellement ou échoue complètement. En outre, les données de la console peuvent être tronquées. Si vous voyezExceptionCode=c00000fd, un dépassement de capacité de pile s'est produit. Vous pouvez utiliser un débogueur Windows tel que WinDbg ou Visual Studio ou le gestionnaire de tâches Windows pour générer un fichier de vidage système dans ces circonstances. Vous devrez peut-être utiliser l'option de ligne de commande -Xrs pour forcer le système d'exploitation à arrêter la machine virtuelle Java™ . Dans ce cas, une boîte de dialogue Windows indique quand la panne se produit.