相关疑难解决方法(0)

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

尝试从gdb运行java应用程序导致segfault,但单独运行app却没有.这个应用程序是.JAR,它使用JOGL和一些内存映射来与GPU通信.

下面的Stacktrace暗示了某种内存访问问题,但我不明白它为什么会出现在GDB中而不是现实生活中.是否有一些环境因素gdb需要知道才能正确执行?

这个问题在JVM OpenJDK 6和7以及Oracle JRE 7之间仍然存在.在启用segfault之前,oracle JRE在启动时运行得更远.所有段错误在试验之间的发生和位置都是一致的.

Segfault在GPU和驱动程序之间持续存在(!!):nvidia,radeon,fglrx current和fglrx beta(14.xx).GDB将成功附加到已经运行的程序实例,但是gDEBugger似乎不可能这样做,这最终需要工作.

没有意图使用gdb进行实际调试.相反,我试图使用gDEBugger来执行OpenGL调试.gDEBugger显然依赖于GDB作为其后端的一部分,因此如果GDB失败,gDEBugger也会失败.这导致尝试单独运行gdb以隔离问题.

gDEBugger output:
GDB String:  [Thread debugging using libthread_db enabled]  
GDB String:  Using host libthread_db library  /lib/x86_64-linux-gnu/libthread_db.so.1 .  
Thread Created: 140737353893632 (LWP: 3265)
Thread Created: 140737294624512 (LWP: 3266)
Thread Created: 140737293571840 (LWP: 3267)
Thread Created: 140737292519168 (LWP: 3268)
Thread Created: 140737155180288 (LWP: 3269)
Thread Created: 140737154127616 (LWP: 3270)
Thread Created: 140736913602304 (LWP: 3271)
Thread Created: 140736909629184 (LWP: 3272)
Thread Created: 140736908576512 (LWP: 3273)
Thread Created: …
Run Code Online (Sandbox Code Playgroud)

java opengl gdb jogl segmentation-fault

17
推荐指数
1
解决办法
2865
查看次数

标签 统计

gdb ×1

java ×1

jogl ×1

opengl ×1

segmentation-fault ×1