gpt4 book ai didi

java - 从 java 调试一个 dll java->jni.dll ->app.dll -> app.dll

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:29 30 4
gpt4 key购买 nike

如何调试未由 java 应用程序加载的 dll。

场景是这样的:我的 java 应用正在加载正在使用另一个 dll 的 jni.dll,而那个 dll 正在使用另一个 dll。

java<->jni.dll<->dll<->dll

我有所有模块的源代码

我在调试 jni.dll 时使用的是 visual studio express,但我应该怎么做才能调试其他 dll?

最佳答案

但是这个是一样的

我也是这样做的,所以让我解释一下我的工作集。

我使用的是 eclipse 3.1 和 Visual C++ 2003 7.1.3088(德语...抱歉 ;))和 Windows XP。我在 java 中加载 some_jni.dll 和 some.dll 并使用 jni 类。some.dll 在内部加载 other.dll。我可以在 visual studio 中调试 some.dll 和 other.dll。

启动您的应用程序并将断点放置到第一个 jni 类调用。打开 VS 并转到(德语)“Debuggen”(调试)->“Prozesse”(进程)他们你会看到 javaw.exe

选择 javaw.exe 并按“Anfügen”(附加)。

我记得,断点所在的c++代码页必须在VS中打开。 VS 不会在自动命中断点时打开页面。当加载dll并执行你放置断点的代码行时,VS中的调试器会停在这个位置。注意:只有在使用调试选项编译要调试的 dll 时,才会发生这种情况!!!否则调试器不会在 C++ 断点处停止。

我半年前就这样做了,但这应该是正确的步骤。

希望你能明白。

关于java - 从 java 调试一个 dll java->jni.dll ->app.dll -> app.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359851/

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