2010-05-25 6 views
3

Python -> C++ dll -> C# dllComment déboguer sans Visual Studio?

J'ai un com interop dll C# qui est chargé dans un emballage C++ dll throught le fichier .tlb généré en C# à utiliser dans un projet de python. Quand je lance dans mon ordinateur, il fonctionne très bien, mais quand je lance dans un ordinateur qui vient de se formated lui donne:

WindowsError: exception code 0xe0434f4d 

Je le redistribute C++ installé et le compact framework .net 3.5 sur l'ordinateur formaté.

Comment puis-je voir quelle est la bonne exception sur un ordinateur sur lequel Visual Studio n'est pas installé? Comment puis-je déboguer tout cela? Je ne peux pas déboguer la DLL elle-même, puis-je? Note: dans mon ordinateur, tout fonctionne bien, il manque peut-être un fichier ou une DLL. J'ai déjà utilisé Dependency Walker pour voir s'il y a une DLL manquante, et nop!

Répondre

7

Téléchargez les outils de débogage Microsoft pour Windows. Il contient le débogueur WinDbg, qui peut également être utilisé pour le débogage.

Avantage de WinDbg par rapport à Visual Studio est que vous avez beaucoup plus de commandes de bas niveau pour trouver des problèmes.

Inconvénient de WinDbg est qu'il n'est pas convivial (par rapport à Visual Studio).

+0

Je peux exécuter mon fichier .exe généré à partir de mon projet python dans WinDbg ou OllyDbg? –

+0

Oui, vous pouvez, tant qu'il est compilé en langage machine. – Patrick

6

Vous pouvez utiliser WinDbg ou d'autres bonnes applications pour attacher au processus ou même exécuter l'application dans l'application de débogage.

Un autre très bon logiciel est OllyDbg. Ces deux options vous permettront à la fois de définir des points d'arrêt à différents emplacements dans votre application.

+0

Je peux exécuter mon .exe généré à partir de mon projet python dans WinDbg ou OllyDbg? –

+0

Oui, vous pouvez! :) –

+0

Peu importe la langue dans laquelle vous avez écrit le programme car il est compilé/converti en code asm/c/machine et compilé en tant qu'exe. –

Questions connexes