如何调试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加载internaly 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++断点处.
我半年前做过这个,但这应该是正确的步骤.
希望你明白.