使用gdbserver从clion调试jni库

问题描述 投票:0回答:1

我想知道是否可以从CLION调试jni库

我的设置:

我有运行java应用程序的远程服务器,它在内部调用本机库。在服务器上,我启动了附加到现有进程的qazxsw poi实例:

gdbserver

它成功连接到该过程。

在本地计算机上,我在CLION中创建远程调试配置,指定目标远程agrs:

gdbserver --attach localhost:7777 pid

我还指定了符号文件和sysroot。因此,当我运行此配置时,我成功连接到远程服务器,但由于tcp:host:7777 SIGPIPE信号,我不断得到程序暂停,所以我永远不会到达我真正的断点。 (我相信这些是jvm中的信号)。

关闭异常断点没有帮助。

有没有办法调试这样的设置?

c++ java-native-interface gdb clion gdbserver
1个回答
1
投票

JVM确实在引擎盖下使用了很多信号。为了有效地调试它,您可能希望使用SIGSEGV GDB命令忽略这些信号。将其输入CLion中的GDB控制台:

handle

这是一个很好的(gdb) handle SIGSEGV nostop noprint pass 到一个非常接近的问题。

© www.soinside.com 2019 - 2024. All rights reserved.