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

为什么Java应用程序在gdb中崩溃但在现实生活中可以正常运行?

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

为什么Java应用程序在gdb中崩溃但在现实生活中可以正常运行?

为什么Java应用程序在gdb中崩溃但在现实生活中可以正常运行?

因为它 实际上 并没有崩溃。

Java使用推测性负载。如果指针指向可寻址内存,则加载成功。指针很少指向可寻址的内存,并且尝试的加载会生成

SIGSEGV
…,java运行时会拦截它,使内存可再次寻址,然后重新启动加载指令。

在调试Java程序时,通常必须这样做:

(gdb) handle SIGSEGV nostop noprint pass

不幸的是,如果涉及到某些JNI代码,并且
代码

SIGSEGV
,GDB也将很乐意忽略该信号,从而导致劣等(正在调试)进程的死亡。对于后一个问题,我尚未找到可接受的解决方案。



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

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

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