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

VB.NET Discussion :

savoir si un assembly est compilé en debug ou en release


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut savoir si un assembly est compilé en debug ou en release
    bonjour

    j'ai une exe et plusieurs dll, à l'exécution je voudrais savoir si l'exe ou une des dll est en mode debug au lieu de release

    merci
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Peut-être un début de réponse de ce côté.
    Sinon, peut être en jetant un coup d'oeil aux sources de ce projet.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    aucune des deux ne fonctinne

    la première, l'attribut n'est pas présent ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    en reprenant le code proposé ci dessus, selon le Framework cible (1 à 3.5), j'obtiens deux "true" en mode Debug et au moins un "false" en mode Release.
    Avec Fw 4, je ne sais pas.
    a tester pour voir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
        Private Function TestModeCompile(ByVal CheminFichierAssemblyATester As String) As String
            'Dim retourFlag As Integer = 0
            Dim retourIsJITTracking As Boolean = False
            Dim retourIsJITOptimizer As Boolean = False
            Dim retour As String = ""
            Dim Lassembly As Reflection.Assembly = Nothing
     
            Try
                Lassembly = Reflection.Assembly.LoadFile(CheminFichierAssemblyATester)
                For Each att As Object In Lassembly.GetCustomAttributes(False)
                    If att.GetType Is GetType(System.Diagnostics.DebuggableAttribute) Then
                        'retourFlag = DirectCast(att, System.Diagnostics.DebuggableAttribute).DebuggingFlags
                        retourIsJITTracking = DirectCast(att, System.Diagnostics.DebuggableAttribute).IsJITTrackingEnabled
                        retourIsJITOptimizer = DirectCast(att, System.Diagnostics.DebuggableAttribute).IsJITOptimizerDisabled
                        '    Exit For
                    End If
                Next
            Catch
                retour = ""
            Finally
                Lassembly = Nothing
            End Try
     
            'retour = retourFlag & "; " & retourIsJITTracking & "; " & retourIsJITOptimizer
            retour = retourIsJITTracking & "; " & retourIsJITOptimizer
     
            Return retour
        End Function

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    bonjour

    j'ai une exe et plusieurs dll, à l'exécution je voudrais savoir si l'exe ou une des dll est en mode debug au lieu de release

    merci
    Difficile de réponse car les profils de compilation debug et release ne sont pas des "modes" propres au compilateur mais des packages d'option pouvant être ajustés à la demande; la seule consante du mode 'debug' étant de définir la constante de pre-compilaton DEBUG, qui par définition, n'a pas de permanence dans le code généré.

    La réponse de Chrismonoye est certainement la plus proche de la vérité, mais elle ne fournira pas non plus une certitude absolue.

Discussions similaires

  1. Comment savoir avec quel JDK une classe est compilé
    Par menzlitsh dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2009, 17h21
  2. Savoir si un assembly est présent ou pas
    Par zax-tfh dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/10/2008, 14h11
  3. difference entre la compilation en debug ou en release ?
    Par isoman dans le forum Visual C++
    Réponses: 10
    Dernier message: 11/07/2008, 16h22
  4. Réponses: 2
    Dernier message: 29/06/2006, 16h33
  5. Réponses: 2
    Dernier message: 24/03/2005, 15h48

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