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

Windows Discussion :

Debuggage de DLL sous Visual C++


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 10
    Par défaut Debuggage de DLL sous Visual C++
    Bonjour,


    Je lutte depuis pres d'une semaine sur un problème bien pénible.. Je ne comprends pas !! Si quelqu'un pouvait comprendre et m'aider..

    Voila le topo : Ma boite développe une toolbox multiplatteforme, devant tout autant compiler sous Linux ( en Gcc ) que sous Window ( en Visual ). La Toolbox est architecturée de manière modulaire. Chaque module de cette toolbox sera, sous windows, une DLL. De manière à pouvoir automatiser la compilation, la compilation sous Visual .NET 2003 s'effectue avec les makefiles et nmake, non sous l'interface graphique.
    Ma question est bete, elle a sans doute déja été posée, mais bon : Apres quelques jours de lutte, j'ai porté le code Gcc en Visual. Ca compile, mais ca plante un peu plus tard. Le problème, c'est que le debugger ne veut pas "rentrer" dans le code des DLLs, du coup, c'est assez infernal pour déterminer d'ou cela vient. Peut etre ai je raté quelque chose au niveau de mon makefile.. mais le cas échéant, si qqun pouvait m'aider... D'autant que le fichier .PDB est correctement généré. Voici l'allure d'une commande de "link" de mes DLL, telle qu'apparaissant au moment de l'execution du Makefile

    "link.exe" /nologo /machine:IX86 /LIBPATH:C:\MonProjet\libvc++ /LIBPATH:"C:\TCL\lib" /LIBPATH:"C:\MonProjet\libvc++" /LIBPATH:"C:\TCL\lib" /LIBPATH:"C:\Developpement\GnuWin32\Lib" /LIBPATH:"C:\Developpement\Expat-2.0.0\Libs" /LIBPATH:"C:\MaBoite CVS\c++\ThirdParty\Tkzinc\win\buildtcl" /LIBPATH:"C:\Developpement\Microsoft Visual .NET 2003\Vc7\PlatformSDK\Lib" /LIBPATH:"C:\Developpement\Microsoft Visual .NET 2003\Vc7\Lib" /DEBUG /PDB:"C:\MonProjet\libvc++\MaDll.pdb" /nologo /DEF:deffiles\MaDll.def /IMPLIB:TMP\\MaDll.lib /entry:_DllMainCRTStartup@12 /dll user32.lib gdi32.lib wsock32.lib pcre.lib libexpat.lib libMonProjet_debug.lib tcl84.lib tk84.lib Tkzinc840.lib /OUT:TMP\\MaDll.dll TMP\DEBUG\TotoBackend.obj

    Le projet invoquant les DLL, est, quant à lui, compilé et linké sous l'IDE Visual. J'ai tenté de le compiler en Debug Multithreaded, et en DLL Debug Multithreaded. Dans tout les cas, il refuse de m'afficher le code de mes DLL :'(.

    Si quelqu'un pouvait m'aider... Mille merci !!

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Rolsct

    Le projet invoquant les DLL, est, quant à lui, compilé et linké sous l'IDE Visual. J'ai tenté de le compiler en Debug Multithreaded, et en DLL Debug Multithreaded. Dans tout les cas, il refuse de m'afficher le code de mes DLL :'(.

    Si quelqu'un pouvait m'aider... Mille merci !!
    Le projet qui appelle les DLL est-il compilé en debug ?
    Sous VC++ on peut attacher un process à la dll mais ça tu dois le savoir

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 10
    Par défaut
    Citation Envoyé par mat.M
    Le projet qui appelle les DLL est-il compilé en debug ?
    Sous VC++ on peut attacher un process à la dll mais ça tu dois le savoir
    Oui, le projet est compilé en débug ( pour etre précis, j'ai meme du le définir comme un projet DLL Multithreaded debug, sinon ca plantait sur les std::string ( ? ) ).. J'ai résolu une partie du problème en modifiant le chemin de génération des PDB ( ?!? ). Maintenant, je peux parcourir le code de mes DLL, mais le "watch" des variables contenues dans la DLL ne fonctionne pas - Enfin ca progresse, malgré tout...
    Sinon, je connaissais le déboggage de processus, mais ne savais pas que l'on pouvait attacher un process à la DLL ! Je jetterai un coup d'oeil aux docs cet apres midi !!
    Merci pour ta réponse !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 10
    Par défaut
    OK, pour mes problèmes de 'watching' de variable, ce n'était qu'une question de visibilité... Mes variables étaient contenues dans un namespace qui n'était pas implicitement utilisé !!

    Merci pour l'aide en tout cas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/06/2007, 22h03
  2. VB6 vers SQLite création de SQLiteVB.dll sous visual 2005
    Par lathenor dans le forum Visual C++
    Réponses: 3
    Dernier message: 21/05/2007, 11h39
  3. Fonction en DLL sous Visual Compaq Fortran
    Par zerbault dans le forum Fortran
    Réponses: 1
    Dernier message: 04/01/2007, 11h05
  4. Réponses: 15
    Dernier message: 13/04/2006, 13h32
  5. Utilisation d'une Dll sous Visual C++
    Par Hokagge dans le forum MFC
    Réponses: 3
    Dernier message: 11/01/2006, 14h40

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