Как диагностировать ошибки Java JNI EXCEPTION_ACCESS_VIOLATION в Windows Vista

Посмотрите чиновника страница справочника мерзавца-svn. В частности, посмотрите под "Основными Примерами":

Отслеживание и содействие в весь Управляемый подрывной деятельностью проект (вместе с соединительной линией, тегами и ответвлениями):

# Clone a repo (like git clone):
    git svn clone http://svn.foo.org/project -T trunk -b branches -t tags

5
задан Dema 17 July 2009 в 15:31
поделиться

2 ответа

Возможно, ваша проблема заключается в смешивании библиотек времени выполнения c, потому что вы обновили компилятор C? Я вижу в дампе стека msvcr71.dll и msvcrt.dll. Согласно этой библиотеке Microsoft

, если ваши библиотеки DLL передают ресурсы CRT через границу msvcrt.dll и msvcr71.dll, вы столкнетесь с проблемами с несовпадающими CRT, и вам потребуется перекомпилировать проект

. Расширения JNI должны использовать тот же компилятор / среду выполнения, что и для сборки jre, но я не могу найти никакой ссылки, чтобы сказать, что это так. Я был бы рад получить еще один ответ, в котором объясняется, почему я ошибаюсь и как я могу решить ту же проблему самостоятельно.

3
ответ дан 14 December 2019 в 19:21
поделиться

Try setting up WinDBG, and hook up a symbol server, so you can get symbols for the OS DLLs.

Then run your Java app under WinDBG and trap the crash there. With any luck you should be able to find your native code in the call stack, or at least something you can recognize.

2
ответ дан 14 December 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: