2009-02-05 6 views
8

Est-il possible de déboguer à distance un processus démarré en dehors de VB6?Débogage à distance dans VB6

L'application est une application VB6 avec un certain nombre de ressources dll/ocx. Je tente d'installer un déploiement ClickOnce, en utilisant COM sans inscription, de l'application VB6, mais a été obtenir des erreurs lors de son exécution. Ma compréhension de la façon dont VB6 redirige les enregistrements COM signifiera probablement que ce n'est pas possible mais je pensais que quelqu'un pourrait avoir une meilleure idée.

Répondre

3

Je crois que lors du débogage dans VB6, il ne s'attache pas à un binaire en cours d'exécution mais interprète plutôt le code dans son propre processus. C'est pourquoi les API Task Manager et Win32 affichent VB6.exe en tant qu'application en cours d'exécution lors du débogage. En outre, comme vous le dites, VB6 court-circuite parfois les appels vers les bibliothèques COM, ce qui empêche l'interception de ces appels. Vous devrez probablement recourir à la journalisation intelligente (c'est-à-dire consigner les valeurs des variables autour des points où les erreurs se produisent dans l'espoir de localiser la ligne de code sur laquelle elles se produisent, et/ou état des variables pertinentes.)

Bonne chance

+0

La notation était le chemin que je supposais que j'allais devoir prendre. Juste n'attendait pas avec impatience d'ajouter beaucoup de journalisation supplémentaire à une application existante. – benPearce

3

Avez-vous essayé windbg? Assurez-vous simplement d'avoir des fichiers pdb pour le projet.

8

Pour soutenir la réponse de Darryl suggérant Windbg - voici un 2006 blog post par un gars Microsoft sur l'utilisation Windbg avec VB6 et 2004 blog post par un autre gars de Microsoft avec une brève introduction à Windbg.

EDIT: Juste pour le rendre totalement clair. Windbg est un débogueur autonome gratuit de Microsoft. Compilez vos fichiers EXE, DLL et OCX VB6 en code natif avec des symboles (créez des fichiers PDB) et vous serez en mesure de déboguer votre application ClickOnce.

Questions connexes