栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在运行我的代码的JVM中调试发生的Segfault?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在运行我的代码的JVM中调试发生的Segfault?

我假设我不在这里查看JVM错误。其他Java程序运行良好,Sun的JVM可能比我的代码更稳定。

我认为您不应该做这个假设。如果不使用JNI,则您将无法编写导致SIGSEGV的Java代码(尽管我们知道它会发生)。我的意思是,发生这种情况时,它要么是JVM中的错误(并非闻所未闻),要么是某些JNI代码中的错误。如果您自己的代码中没有任何JNI,这并不意味着您没有使用某些库,因此请查找该库。当我以前看到这种问题时,它在图像处理库中。如果罪魁祸首不在您自己的JNI代码中,则可能无法“修复”该错误,但是您仍然可以解决该错误。

首先,您应该在同一平台上获得备用JVM,然后尝试重现它。您可以尝试以下替代方法之一。

如果无法重现,则可能是JVM错误。由此,您可以使用特定的知识来授权特定的JVM或搜索错误数据库,并获得建议的解决方法。(即使可以重现它,许多JVM实现也只是对Oracle
Hotspot实现的调整,因此它可能仍然是JVM错误。)

如果可以使用替代的JVM重现它,则 可能
是您有一些JNI错误。查看您正在使用的库以及它们可能在进行的本机调用。有时,对于同一库或执行几乎相同功能的替代库,存在替代的“纯Java”配置或jar文件。

祝好运!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号