IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Debug de dll sous C++ Builder


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    157
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Par d�faut Debug de dll sous C++ Builder
    Bonjour,

    je tente de d�bugger une DLL �crite en C++ sous l'environnement
    C++ Builder.

    J'ai indiqu� le nom de l'application � lancer (qui charge dynamiquement
    ma DLL)
    J'ai indiqu� que la DLL �tait � chargement diff�r� (options �volu�es du lieur)

    R�sultat : le programme s'ex�cute, la DLL est bien charg�e mais il
    n'ya pas de stop sur les points d'arr�t.

    Remarque : il est arriv� que �a tombe en marche dans le pass� ! :o

    si quelqu'un poss�de le "know how" sur le sujet je suis preneur.

    merci,
    Jean

  2. #2
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Pour ma part, j'ai cr�� un project Groupe avec les sources de ma DLL et de mon Pgm qui fait les appels et ensuite je d�clare dans "Ex�cuter le nom de mon appli hote" (celle qui appelle la DLL) et �a fonctionne bien.

    Je lance ensuite ma DLL (qui lance le PGM H�te) et c'est bon.

  3. #3
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Pour �tre s�r, je te d�taille comment je fais (j'utilise Access qui lie un DLL). (PS: J'ai BCB en anglais, alors je te mets les noms de commande en anglais)
    1) Compiler la DLL avec les info de debug
    2) Dans le menu Run --> Run Parameters, je mets le nom de mon appli qui appelle la DLL et �ventuellement ses param�tres
    3) Je m'assure que mon appli appelle bien la DLL qui se trouve dans le r�pertoire de mon projet (cette partie est importante car BCB ne "surveille" que le fichier DLL qu'il a construit: si je d�place la DLL dans System32 par exemple, alors elle ne sera debugg�e)
    4) Je lance l'appli depuis BCB avec "Run"
    5) Les breakpoints n'apparaissent qu'une fois que la DLL a �t� charg�e par l'appli. Il y a souvent plusieurs appels (notamment � DllEntryPoint) qui sont quand m�me intercept�s par le debugger

    Bonne chance

  4. #4
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    157
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Par d�faut Debug de DLL sous C+= Builder
    Bonjour,

    globalement la description que tu fais du "processus" est conforme � la fa�on dont je proc�de.

    Depuis que j'ai d�pos� ma question j'ai eu un fonctionnement h�ratique du debogguer ce qui n'est jamais facile � r�soudre...

    Pour vous �clairer sur l'utilisation de ma DLL : j'ai d�velopp�, en Delphi" un "COM Add-INS" pour Excel (donc une premi�re DLL) qui est un frontal d'optimisation : il permet de charger � la vol�e des DLL d'optimisation et de les utiliser depuis EXCEL.

    La DLL que j'essaie de d�bugger est l'un de ces optimiseurs et est cod�e en C (r�cup�ration d'un code Open-Source sur le net). J'ai donc int�gr� ce code C dans un projet C++ Builder et j'obtiens un fonctionnement relativement satisfaisant.

    Le seul petit probl�me est lorsque je veux d�bogguer la DLL : les points d'arr�ts sont parfois reconnus parfois non ! :o

    Pourtant j'ai v�rifi� � chaque fois que la DLL charg�e �tait la bonne (option "voir modules" dans C++ Builder), que la compilation �tait bien avec les options de debug activ�es...

    Quoi qu'il en soit je vous remercie de vos r�ponses...

    Jean

  5. #5
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Donc tu appelles une DLL depuis une DLL qui est elle-m�me appel�e par Excel... C'est effectivement une situation complexe.

    J'ai aussi un comportement bizarre du debugger dans le cas o� j'ai un descendant d'une classe template. Dans mon cas, les fonctions de la classe parente ne sont pas trait�es par le debugger :-( Peut-�tre est-ce le m�me probl�me...

  6. #6
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    157
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Par d�faut
    Bonsoir,

    En fait la DLL que je n'arrive pas � debugger est plut�t du code
    C que C++, il s'agit d'un programme d'optimisation �crit en Fortran
    � l'origine puis traduit en C.

    Cette a.m. j'ai eu � nouveau des comportements h�ratiques.

    Je vais essayer de me contenter de ce qui est disponible...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. DLL Delphi pour utilisation sous C++ Builder
    Par kurul1 dans le forum Langage
    R�ponses: 8
    Dernier message: 25/06/2008, 10h54
  2. Enrgistrer une dll sous IIS
    Par jeff37 dans le forum ASP
    R�ponses: 2
    Dernier message: 12/07/2004, 17h23
  3. DLL sous C++ builder 6
    Par ovdz dans le forum C++Builder
    R�ponses: 3
    Dernier message: 05/08/2003, 14h15
  4. dll sous cygWin
    Par victorracine dans le forum C
    R�ponses: 10
    Dernier message: 31/07/2003, 11h33
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres �diteurs
    R�ponses: 7
    Dernier message: 18/12/2002, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo