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
Version imprimable
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
aucune des deux ne fonctinne
la première, l'attribut n'est pas présent ...
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:
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
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.