win32 开发原生 c++ 项目调用 java ,如何打Log调试?

win32 c++ 项目调用 java ,如何调试?

可以连接idea,观看log吗?打断点可无,主要是看log,我开发安卓的时候只看log就能满足基本需求了。

希望可以得到一个log工具,崩溃或手动打印调用栈的时候,可以定位到idea中的源代码?

一、正解

可以在java逻辑中将system.out.prinln重定向至本地文本,然后idea中追加log文件,就可以在idea的run底部对话框查看了(然而idea中要有运行例程,不然不加载log文件)。

使用最新版idea,不然idea有bug。这个功能隐藏较深。需要在run运行按钮旁边的edit configuration中编辑,打开“运行配置编辑”对话框,点击右上角modify,显示log修改区域,然后点加号按钮追加本地log文件即可。

有时候log显示一半就不更新了,或者打印行太长就不打印了,需要更新idea,或者尝试切换log等级(all、info、warning)

二、旁门

可以尝试将log发送至idea中启动的nanohttpd wifi服务端。

在 C++ 项目中调用 Java 时,可以使用 JNI (Java Native Interface) 来解决调试问题。

使用 Java 的 Log 工具,在 Java 代码中输出 log。可以使用 Android 的 Log 类,或者是 Apache 的 log4j 库。在 C++ 代码中调用 Java 代码时,会输出相应的 log 信息。

使用 IDE 调试工具,如 Eclipse 或 IntelliJ IDEA。在 Java 代码中设置断点,在 C++ 代码中调用 Java 代码时,会跳到断点处进行调试。

使用调试工具,如 GDB 或 Visual Studio 的调试器。可以在 C++ 代码中设置断点,并在调用 Java 代码时跳到断点处进行调试。

总之,对于 c++ 调用 Java 的项目,调试方法有很多种,根据具体项目的需求来选择合适的方法。