我能否通过 JNI 调试在本机代码中创建的 JVM?
Can I debug a JVM created in native code via JNI?
我有一个使用 JNI_CreateJavaVM(( 函数创建 JVM 的C++程序。 该程序运行良好,但我希望能够调试 Java 代码中的事件,例如添加断点。 JDB 调试应用程序似乎具有 -attach 和 -connect 参数,这些参数可能能够连接到我在本机代码中创建的 JVM。 有人这样做过吗? 它能起作用吗? 或者,是否有另一种方法来调试在本机代码中创建的 JVM?
谢谢! 担
如果可以指定 JVM 的启动参数,则可以打开用于调试连接的端口。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009
每个Java IDE都可以使用此协议,例如,请参阅Intellij IDEA中的Run->附加到本地进程。
相关文章:
- 在nodejs中使用本机代码的最佳方法是什么?
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- 可以从本机代码(如C++/Delphi)中使用.netCore DLL
- 使用 x86_64-w64-mingw32-g++ 编译 JNI C++本机代码
- 终止调用本机代码的 .Net 线程
- 从本机代码返回到托管代码会损坏返回的对象
- 我能否通过 JNI 调试在本机代码中创建的 JVM?
- Android 无法从本机代码调用 Java 方法 JNI
- 将自定义 Java 数据模型传递给我的本机代码
- 用于 JUnit 测试的本机代码未使用 'nar-maven-plugin' 编译
- 将本机C 代码转换为Java
- 有什么方法可以用本机C 代码替换Windows API计时器(settimer)
- 使用 Android Studio 使用本机代码编译 apk 时,如何在链接处删除 libgnustl_static.
- 如何在 Linux 上调试本机代码时自动附加到多个子进程
- 如何将 WebAssembly 编译成常规汇编/本机代码(或 Cpp 等)
- Android- AAR库的调试本机代码
- 使用本机/C++代码在VS2010中创建简单COM对象的最简单方法是什么
- NewDirectByteBuffer是否在本机代码中创建副本
- 对于多少种类型的 x86 处理器,Ngen 和 .net 本机一次创建本机代码
- 保留egl上下文,通过本机代码创建