【问题标题】:How to tell valgrind to ignore SIGSEGV如何告诉 valgrind 忽略 SIGSEGV
【发布时间】:2015-02-13 17:45:32
【问题描述】:

我有一个 C++/JNI 程序,它可以很好地独立运行,但在使用 valgrind 运行时会使用 SIGSEGV 退出。 我已经验证了信号是从与在 gdb 调试器中运行程序时完全相同的位置抛出的。在 gdb 的上下文中,这个问题在这里得到了很好的解释: Strange sigsegv while calling java code from c++ through jni

解决方案是让 gdb/valgrind 忽略 SIGSEGV 信号。对于 gdb,这很容易。对于 valgrind - 到目前为止我一直没有成功。我试过http://sourceforge.net/p/valgrind/mailman/message/12485481/ 以及 --vex-iropt-register-updates=allregs-at-mem-access 但无济于事。

【问题讨论】:

  • 没有找到如何忽略 SIGSEGV 回合找到了如何让 JVM 不抛出 SIGSEGV。 -Xint 选项,仅解释模式执行,将防止 SIGSEGV 被抛出。
  • 谢谢!请将您的解决方案添加为自己的答案,并将您的问题标记为已解决。

标签: java-native-interface valgrind segmentation-fault


【解决方案1】:

没有找到如何忽略 SIGSEGV 但找到了如何让 JVM 不抛出 SIGSEGV。 -Xint 选项,仅解释模式执行,将防止 SIGSEGV 被抛出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2011-12-17
    • 2018-03-06
    • 2014-03-11
    • 2013-05-07
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多