Как я могу воспроизвести ошибку EXCEPTION_STACK_OVERFLOW в Java - PullRequest
10 голосов
/ 08 июля 2011

Как мне воспроизвести ошибку EXCEPTION_STACK_OVERFLOW в Java.

PS: я не говорю об ошибке StackOverflowError в Java, которая изящно закрывает JVM. Я говорю о файле EXCEPTION_STACK_OVERFLOW в файле error.log, который приводит к сбою JVM.

Ответы [ 3 ]

7 голосов
/ 08 июля 2011

Большинство EXCEPTION_STACK_OVERFLOW ошибок, которые я обнаружил до сих пор, происходят в собственном коде вне JVM. Сбой внутри JVM стоит сообщения об ошибке и будет исправлен. Или вам нужен (неизвестный) подвиг?

Таким образом, самый простой и надежный способ - написать нативную библиотеку с некоторым кодом, вызывающим сбой JVM, и вызывать его с JNI.

(общий ответ, я на самом деле не знаю, как это сделать. Не может быть сделано только с помощью кода Java;))

3 голосов
/ 08 июля 2011
public static void stackoverflow()
{
     stackoverflow();
}

Позвони и наслаждайся: D

3 голосов
/ 08 июля 2011

Стек удара:

public static void main(String[] args) {
    main(null);
}

Ударная куча:

public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    while(true) list.add(new String("boom"));
}
...