我用 Java 编写了一个软件,它使用硬件供应商提供的 DLL 与 USB 硬件进行通信。我使用Java Native Access库将包装器写入本机代码。有时当我运行它时,仅在与本机代码相关的函数上,JVM 崩溃,我找不到导致错误的原因,因为它发生在本机代码中,我没有源代码 (MSVCRT71.DLL)。
我大部分时间都是 Linux 开发人员,所以我不习惯这种情况。我可以做些什么来将调试器从外部(例如,Visual C++)附加到 JVM 进程并从中获得一些有意义的东西(即,不是汇编指令)?