2009-02-09 6 views
3

J'ai écrit un logiciel en Java qui communique avec du matériel USB en utilisant une DLL fournie par le fournisseur du matériel. J'ai utilisé la bibliothèque Java Native Access pour écrire les wrappers au code natif. Parfois, lorsque je l'exécute, uniquement sur les fonctions liées au code natif, les plantages JVM et je ne peux pas trouver ce qui a causé le bogue parce qu'il se passe en code natif, dont je n'ai pas le code source (MSVCRT71.DLL). Je suis la plupart du temps un développeur Linux, donc je ne suis pas habitué à cette situation. Que puis-je faire pour attacher un débogueur de l'extérieur (par exemple, Visual C++) au processus JVM et obtenir quelque chose de significatif (c'est-à-dire, pas d'instructions d'assemblage) à partir de ce processus? MSVCRT71.DLL est la DLL des bibliothèques c-runtime incluses dans Visual Studio 7.1.Débogage de plantages JVM sous Windows

Répondre

2

Installez Visual Studio 7.1, qui a la source crt. Goto Debug-> processes, trouve l'instance java que vous utilisez, puis cliquez sur "attach".

Si vous ne pouvez pas mettre la main sur VS7, essayez cette

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

assurez-vous d'obtenir les symboles pour cette version du crt

+0

Installation de Visual Studio 7.1 a travaillé, merci! – jfsantos