I wrote a piece of software in Java that communicates with USB hardware by using a DLL provided by the hardware vendor. I used the Java Native Access library to write the wrappers to native code. Sometimes when I am running it, only on native code related functions, JVM crashes and I cannot find what caused the bug because it happens in native code, to which I do not have the source code (MSVCRT71.DLL).
I am most of the time a Linux developer, so I'm not used to this situation. What can I do to attach a debugger from outside (say, Visual C++) to the JVM process and get something meaningful (that is, not Assembly instructions) from it?