Debuger une dll c++ en CSHARP - C#/.NET managed - Programmation
Marsh Posté le 30-06-2009 à 13:28:47
Une dll est un fichier comportant un ensemble de fonctions qui seront appelées par un programme client, ce fameux .exe que te réclame Visual Studio. Tu dois donc créer un programme de test, qui appellera la ou les fonctions que tu veux débugger. Une dll toute seule ne sert à rien du tout.
Ensuite, que veux tu dire par "débugger en C#" ? Si la dll est écrite en C++, tu verras son source C++ dans le débugger, et rien d'autre.
Marsh Posté le 30-06-2009 à 14:21:39
Tout d'abord merci pour cette réponse rapide.
En fait je t'explique:
- J'ai un certificat client qui se trouve dans un lecteur de carte vital. Ce lecteur est un installé sur un poste( "POSTE 1" ).
- Sur un autre poste("POSTE 2" ), où se trouve un site web installé en local, j'ai installé un certificat "père" se trouvant, dans la hiérarchie, au dessus du certificat se trouvant dans la carte.
- J'essaye d'accéder au site web du Poste 2 à partir du poste 1 et IIS est censé détecter la validité du certificat se trouvant sur la carte. Le seul problème c'est que les deux certificats ( sur le poste 1 et poste 2 ), n'ont pas le même CA. C'est pour ça que l'on m'a fournit un petit outil qui est censé passé outre ce problème.
- Sachant que je suis développeur CSHARP, je souhaiterais débugger ce programme dans ce langage, alors que le petit outil que l'on m'a fournit est en c++, car évidemment il y a un petit soucis dans le programme.
J'ai vu qu'il y avait une fonction [DllImport("maDLL.dll" )], mais le problème c'est que je ne sais pas trop comment importer les méthodes et fonctions du projet en c++, car dans un premier temps, dans ce language, les types de variable sont vraiment bizarre.
Marsh Posté le 30-06-2009 à 14:40:34
custo76 a écrit : |
DllImport permet d'importer dans un programme C# les fonctions d'une dll que tu spécifies. Ce qui suppose que :
- tu connaisses le nom des fonctions,
- tu connaisses le type des variables fournies en entrée, et le type des variables de sortie
Ensuite, qu'appelles tu un "type de variable bizarre" ? Il faut savoir que la conversion des types de variables C++ <=> C# n'a rien de trivial, car il va s'agir de convertir des types non managés en type managés et vice versa. Ca s'appelle le Marshalling : http://msdn.microsoft.com/fr-fr/li [...] S.80).aspx
Marsh Posté le 30-06-2009 à 15:42:19
Merci pour la réponse.
Voici quelques bout de code rempli de variable bizarre:
Code :
|
Plus sérieusement, je vais me penché sur le Marshalling.
Encore merci.
Marsh Posté le 30-06-2009 à 12:27:38
Bonjour à tous,
je m'explique:
J'ai une dll en c++ que j'ai besoin de debuger en CSHARP, mais je ne sais pas trop comment faire.
Lorsque que je compile le projet en c++, Visual studio me demande d'exécuter un .exe.
Je suppose donc que je dois créer un projet pour pouvoir dans un premier temps lancer le projet...
Je suis un peu perdu, quelqu'un'un aurait-il des suggestions?