Suivre le chargement de DLL non managé

grx29 Messages postés 1 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 3 juin 2008 - 3 juin 2008 à 11:43
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 - 3 juin 2008 à 18:04
bonjour,

j'ai un exe en C#  (ou C++ meme pb) (VS2005) qui utilise une dll en C++ managé CPP1.dll (VS2005) qui appelle un tas de dll non managés CPP2.dll et CPP3.dll. tout marche correctement.
je copie l'ensemble du repertoire (/debug pour l'exemple) sur une autre machine sur laquelle il y aussi V2005 installé (meme config de machine donc).
l'exe plante au "chargement" de la dll managé (car il ne trouve pas une des dll qu'appelle CPP1.dll, qui doit etre un appel implicite autre que CPP2.Dll et CPP3.dll)
une autre facon de faire le test est de revenir sur la premiere machine ou tout se passe bien et on change le nom d'une des dll non managé (CPP3.Dll en CPP333.Dll par exemple) qui est appelé par CPP1.dll. On a alorsle meme type d'erreur (crash au chargement de CPP1.Dll).
Mon probleme général est de trouver un moyen (ou un espion, une application tierce genre la pile d'appel) de savoir quels sont les Dll appelés par CPP1.dll pendant son chargement. car manifestement on voit pas dans la pile d'appel les Dll non managés.

merci d'avance pour votre aide

1 réponse

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
3 juin 2008 à 18:04
essaie de compiler ta dll avec toutes les bibliothèque genre CRT liées en statique et regarde si ça marche;
tu peux aussi utiliser Dependency Walker pour voir les dépendences de ta dll, encore qu'il ne détectera pas les appels dynamiques (enfin je crois pas).
Que donne tout ceci?
0
Rejoignez-nous