2010-07-30 6 views
2

J'ai un exe dans Csharp qui référence une DLL C++ et une DLL VB6.Débogage de VB6 dans VS2008 avec des objets non-VB6

Je peux entrer avec succès dans le C++ à partir de la Csharp dans Visual Studio 2008 lorsque j'ouvre les fichiers correspondants.

J'ai atteint la même capacité à entrer dans le VB6 à partir de la Csharp en générant un fichier pdb avec le dll VB6. Le seul problème que j'ai est que lors du débogage de la VB6, les objets .NET et C++ montrent <void> dans les fenêtres 'locals' et 'watch'.

Est-ce que l'on s'attend trop à pouvoir évaluer des objets dans 3 langues dans un même IDE?

Ou existe-t-il une solution alternative?

Nouveau sur COM, donc désolé si c'est une question évidente, merci pour toute aide.

Modifier, juste relâché une partie vitale de ma question a disparu sans une fenêtre de code.

+1

Il n'est pas tout à fait clair à partir de votre question quel comportement indésirable vous éprouvez et quel comportement vous attendez à la place. – Timwi

+0

Un comportement indésirable correspond à la valeur des objets dans la fenêtre de surveillance. De même objectname.objectproperty n'évaluera pas. Le comportement souhaité est que la valeur des objets apparaisse dans la fenêtre de surveillance, et les expressions à évaluer, par exemple MailItem.Subject, renverront "TheSubject" – nestedforloop

Répondre

0

VB6 a été développé avant la sortie de .Net et ne comprend donc pas les références .Net. Même si les objets .Net étaient disponibles pour VB6 en tant qu'objets COM, je ne pense pas que VB6 puisse vous permettre de les examiner au débogage.

+1

Je pense qu'il utilise le débogueur VS2008. Si les objets .Net font vraiment semblant d'être des objets COM, vous pouvez vous attendre à pouvoir les voir dans le débogueur comme n'importe quel autre objet COM. – MarkJ

Questions connexes