gpt4 book ai didi

java - 如何调试 JNI/C 库?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:29 26 4
gpt4 key购买 nike

我们这里有一个系统,它使用 Java JNI 调用 C 库中的函数。在 Solaris 上运行的一切。

我在某个地方遇到了字符串编码问题。用 C 编写的函数返回一个阿拉伯字符,但 JNI 方法接收一个具有另一种编码的字符串。我已经尝试设置 $NLS_LANG 和用于编码的 vm 参数,但没有任何效果。所以我需要能够同时调试 C 代码和 Java JNI。

调试它的最佳方法是什么?

最佳答案

dbx 调试器(Sun Studio 的一部分)可以附加到 JVM 进程,让您在 Java 代码和 native 代码之间单步执行。该功能的代号为“jdbx”,尽管它都是 dbx 的一部分。它没有得到大力推广,所以它可能有错误。当 IDE 有两个调试引擎都处理 Java 时会出现问题,但使用命令行 dbx 可以避免这些问题。

当然,可能有许多更传统的方法来调试您的特定问题,而不必使用可以混合 Java 和 C 代码的源代码级调试。

关于java - 如何调试 JNI/C 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/911034/

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