我想知道是否可以从CLION调试jni库
我的设置:
我有运行java应用程序的远程服务器,它在内部调用本机库。在服务器上,我启动了附加到现有进程的qazxsw poi实例:
gdbserver
它成功连接到该过程。
在本地计算机上,我在CLION中创建远程调试配置,指定目标远程agrs:
gdbserver --attach localhost:7777 pid
我还指定了符号文件和sysroot。因此,当我运行此配置时,我成功连接到远程服务器,但由于tcp:host:7777
和SIGPIPE
信号,我不断得到程序暂停,所以我永远不会到达我真正的断点。 (我相信这些是jvm中的信号)。
关闭异常断点没有帮助。
有没有办法调试这样的设置?
JVM确实在引擎盖下使用了很多信号。为了有效地调试它,您可能希望使用SIGSEGV
GDB命令忽略这些信号。将其输入CLion中的GDB控制台:
handle
这是一个很好的(gdb) handle SIGSEGV nostop noprint pass
到一个非常接近的问题。