gpt4 book ai didi

java - 如何使用 GDB 从 native 调用调试到 java 函数?

转载 作者:行者123 更新时间:2023-11-28 03:44:43 27 4
gpt4 key购买 nike

在那里,我有一个像这样的 Java 模块的 C++ 函数调用。我的问题是如何调试到 java 代码中?在程序中,有一个“JNI_CreateJavaVM()”函数调用,用于创建 VM 并将 Java 类加载到其中。然后我使用 GDB 进入下面的代码。这对我来说真的是一个技巧。请给我一些想法。非常感谢!

void functions::call( jobject jo, const Parameter_list& parameter_list ) const
{
Env env;
env->CallVoidMethodA( jo, id(), JVALUES_CAST(parameter_list.jvalue_array()) );
if( env->ExceptionCheck() ) env.throw_java( "CallVoidMethodA" );
}
jni.h:
void CallVoidMethodA(jobject obj, jmethodID methodID,
const jvalue * args) {
functions->CallVoidMethodA(this,obj,methodID,args);
}

最佳答案

如果你通过 right optionsJNI_CreateJavaVM() 然后 JVM 将可以使用 Java 调试器进行调试。

不要尝试使用 GDB 调试 JVM;那就是精神错乱。

关于java - 如何使用 GDB 从 native 调用调试到 java 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com