在Windows下调试JVM崩溃问题

3
我用Java编写了一款软件,通过使用硬件供应商提供的DLL与USB硬件通信。我使用Java Native Access库编写了对本地代码的包装器。有时候当我运行它,只有在本地代码相关的函数中,JVM会崩溃,而且我无法找到导致错误的原因,因为这发生在本地代码中,我没有源代码(MSVCRT71.DLL)。

我大部分时间都是Linux开发人员,所以对这种情况不太习惯。我该怎么做才能从外部(比如Visual C++)附加调试器到JVM进程,并从中获取有意义的信息(即不是汇编指令)?

1个回答

2

MSVCRT71.DLL是Visual Studio 7.1中包含的C运行时库的dll。

安装Visual Studio 7.1,其中包含crt源代码。转到“调试”->“进程”,找到您正在运行的java实例,然后单击“附加”。

如果无法获取VS7,请尝试以下操作

[http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx][1]

确保获取该版本crt的符号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接