当 Java JNI 遇到分段错误时抛出异常
我们有在单独的线程中运行 JNI 的代码。我们在开发过程中偶尔会遇到需要调试的分段错误,但由于代码在单独的线程中运行,因此不会报告分段错误。相反,线程实际上会在没有警告的情况下死亡,从而使调试变得困难。
我希望能够检测分段错误和/或在发生分段错误时抛出异常,以便我们有一些迹象表明线程已在没有警告的情况下死亡。有什么方法可以以这种方式检测分段错误吗?
We have code running JNI in a separate thread. We occasionally get segmentation faults while developing that we need to debug, but because the code is running in a separate thread the seg-fault isn't reported. Instead the thread essentially dies without warning making debugging difficult.
I would like to be able to either detect a segmentation fault and/or throw an exception when a seg fault occurs so that we have some indication that a thread has died without warning. Is there any way to detect segmentation faults in this manner?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Windows 上,使用 SetUnhandledExceptionFilter 或使用一个 __try __ except 构造来捕获线程中的异常。在 POSIX 平台上,使用
sigaction
安装SIGSEGV
的处理程序On windows, use SetUnhandledExceptionFilter or use a
__try __except
construct to catch exceptions in the thread. On POSIX platforms, install a handler forSIGSEGV
withsigaction