генерировать исключение, когда Java JNI испытывает ошибку сегментации - PullRequest
0 голосов
/ 22 марта 2011

У нас есть код, выполняющий JNI в отдельном потоке. При разработке мы иногда получаем ошибки сегментации, которые нам нужно отлаживать, но поскольку код выполняется в отдельном потоке, ошибка сегмента не сообщается. Вместо этого поток по существу умирает без предупреждения, затрудняя отладку.

Я бы хотел иметь возможность обнаружить ошибку сегментации и / или выдать исключение при возникновении ошибки сегмента, чтобы у нас было некоторое указание на то, что поток умер без предупреждения. Есть ли способ обнаружить ошибки сегментации таким образом?

1 Ответ

1 голос
/ 22 марта 2011

В Windows используйте SetUnhandledExceptionFilter или используйте конструкцию __try __except для перехвата исключений в потоке.На платформах POSIX установите обработчик для SIGSEGV с sigaction

...