Warunki przepełnienia stosu w systemie Windows
W pewnych warunkach przepełnienie stosu może spowodować awarie podczas tworzenia zrzutów.
Przepełnienia stosu w systemie Windows są identyfikowane przez wartość
c00000fd dla ExceptionCode , tak jak pokazano to w następujących danych wyjściowych: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)Wielkość przepełnienia wpływa na to, czy zrzut powiedzie się, częściowo powiedzie się, czy też nie powiedzie się. Ponadto dane konsoli mogą zostać obcięte. Jeśli zostanie wyświetlonyExceptionCode=c00000fd, wystąpiło przepełnienie stosu. Do wygenerowania pliku zrzutu systemowego w tych okolicznościach można użyć debugera systemu Windows, takiego jak WinDbg lub Visual Studio lub menedżera zadań Windows. Może być konieczne użycie opcji wiersza komend -Xrs w celu wymuszenia zatrzymania systemu operacyjnego w celu zatrzymania maszyny wirtualnej Java™ . W tym przypadku, okno dialogowe Windows wskazuje, kiedy nastąpi awaria.