[VB 6.0] Debug d'une DLL en C et du code VB l' appelant

Flamandier Messages postés 9 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 5 avril 2007 - 24 févr. 2006 à 17:20
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 24 févr. 2006 à 20:36
Bonjour,

Mon code VB appelle une DLL en C , c'est tres classique.

Je m'interroge sur la possibilite suivante: Je voudrais mettre un point d'arret dans cette DLL et ensuite visualiser la stack appelante
de cette DLL en VB.

J'ai essayé plein de choses , mais ce que j'arrive de "mieux" a faire est :
- Lancer Visual Basic
- Demarre l'Exe
- Attacher le process VB6 dans Visual Studio
- Mettre un point d'arret dans la DLL dans Visual Studio

Lorsque le programme Break, j'ai une Call Stack , mais les noms de methodes ne sont pas explicites, il manque les symboles
Et puis j'ai bien peur que ce soit les symboles de l'EXE Visual Basic et non pas l'EXE de mon programme.....

N'y a t'il pas moyen de suivre pas à pas l'execution dans VB puis dans la DLL, en utilsiant l'un ou l'autre des IDE ou les 2 en meme temps ?
Merci !

1 réponse

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
24 févr. 2006 à 20:36
Je te donne ma méthode qui généralement me convient bien.

Dans VB, faut que tu génere ton exe avec les infos de débogage (Propriétés du projet/Onglet Compilation, coche "generer les informations de debug symbolique") . Ensuite tu genere ton exe puis tu peut fermer VB il sert plus à rien.

Dans VC tu ouvre le projet de ta dll, dans les settings, onglet debug, pour "Executable for debug session" tu vas chercher l'executable que tu viens de generer.

Puis tu peux debugger ta dll avec VC. Je ne sais pas si tu aura ce que tu veux sur la stack mais tu devrais voir apparaitre le code VB (vérifie les différentes options) lorsque tu fait du pas à pas.

A ma connaissance, tu ne peut pas debugger les 2 (VB et dll) en même temps. mais rien ne t'empeche de faire les modif en VB de recompiller puis de relancer un debug en VC, Attention à bien arreter le debug en VC avant de compiler en VB, ça plante méchamment autrement

C'est ma methode, et c'est certainement pas la meilleure mais si elle peut t'aider...

<hr size="2" width="100%">
0
Rejoignez-nous