Как сказать Valgrind и игнорировать сигнала SIGSEGV


У меня есть программа C++/JNI, которая отлично работает автономно, но завершается с SIGSEGV при запуске с valgrind. Я проверил, что сигнал подается из того же самого места, что и при запуске программы в отладчике gdb. В контексте gdb этот вопрос хорошо объяснен здесь: странный sigsegv при вызове кода java из c++ через jni

Решение состоит в том, чтобы заставить gdb/valgrind игнорировать сигнал SIGSEGV. Для gdb это просто. для Valgrind - я не увенчались успехом до сих пор. Я попробовал http://sourceforge.net/p/valgrind/mailman/message/12485481/ а также --Векс-iropt-зарегистрируйтесь-обновления=allregs-на-мэм-доступ, но безрезультатно.

1 3

1 ответ:

Не выяснил, как игнорировать SIGSEGV, но выяснил, как заставить JVM не бросать SIGSEGV. Опция-Xint, интерпретируемая только в режиме выполнения, предотвратит выброс SIGSEGV.