2008-09-19 5 views

Répondre

21

Mettre le suivant où vous en avez besoin:

System.Diagnostics.Debugger.Break(); 
3

vous pouvez utiliser System.Diagnostics.Debugger.Break() pour briser dans un endroit précis .. cela peut aider dans des situations telles que le débogage d'un service.

39

J'aime aussi vérifier si le débogueur est attaché - si vous appelez Debugger.Break quand il n'y a pas débogueur, il demandera à l'utilisateur si elles veulent attacher un. En fonction du comportement que vous voulez, vous pouvez appeler Debugger.Break() que si (ou sinon) un est déjà fixé

using System.Diagnostics; 

//.... in the method: 

if(Debugger.IsAttached) //or if(!Debugger.IsAttached) 
{ 
    Debugger.Break(); 
} 
+0

Cela devrait être la réponse acceptée ... – MemphiZ

2

Les réponses de @Philip Rieck et sont subtilement différents @John.

Jean ...

#if DEBUG 
    System.Diagnostics.Debugger.Break(); 
#endif 

ne fonctionne que si vous avez compilé avec le symbole de compilation conditionnelle de déboguage.

réponse de Phillip ...

if(Debugger.IsAttached) //or if(!Debugger.IsAttached) 
{ 
    Debugger.Break(); 
} 

fonctionnera pour tout débogueur ainsi vous donner des pirates un peu peur aussi.

Prenez également note de SecurityException il peut jeter donc ne laissez pas ce code dans la nature.

Une autre raison non à ...

Si aucun débogueur est attaché, les utilisateurs sont invités si elles veulent attacher un débogueur . Si les utilisateurs disent oui, le débogueur est démarré. Si un débogueur est attaché, le débogueur est signalé avec un événement de point d'arrêt utilisateur et le débogueur suspend l'exécution du processus comme si un point d'arrêt du débogueur avait été atteint.

de https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx

Questions connexes