2009-11-14 11 views

Respuesta

71
#if DEBUG 
your code 
#endif 

Se podría también añadir ConditionalAttribute al método que se va a ejecutar solamente cuando se genera en modo de depuración:

[Conditional("DEBUG")] 
void SomeMethod() 
{ 
} 
+0

¿Cómo se sabe que está en depuración, está demorando desde web.config? – Omu

+1

@Omu: agregué el enlace a MSDN; allí se explica cómo el compilador elimina selectivamente las llamadas a los métodos marcados como 'Condicional'. –

+1

Elija el modo de compilación entre versión o depuración. #if y Conditional se usan en tiempo de compilación. Algunos detalles más: http://bytes.com/topic/c-sharp/answers/237540-conditional-debug-if-debug. Encontrarás mucha información sobre en google. – empi

11

I declaró una propiedad en mi página de base, o puede declararlo en cualquier clase estática que tiene en applicaition:

public static bool IsDebug 
    { 
     get 
     { 
      bool debug = false; 
#if DEBUG 
      debug = true; 
#endif 
      return debug; 
     } 
    } 

Entonces para lograr su deseo de hacer:

if (IsDebug) 
    { 
     //Your code 
    } 
    else 
    { 
     //not debug mode 
    } 
+1

Supongo que quería decir #if DEPURAR debug = true; #endif – empi

+2

de depuración se inicializará false de forma predeterminada, por lo que isDebug siempre devolverá falso, es u que falta la depuración bool = true? – Benny

+0

Las variables locales son ** no ** inicializadas a nada, por lo que la revisión actual no se compila en modo de lanzamiento. – dtb

62

Detecting ASP.NET Debug mode

if (HttpContext.Current.IsDebuggingEnabled) 
{ 
    // this is executed only in the debug version 
} 

De MSDN:

HttpContext.IsDebuggingEnabled Propiedad

Obtiene un valor que indica si la solicitud HTTP actual está en el modo de depuración.

+0

¡La mejor respuesta! : D – Chiramisu

+1

Es simplemente 'if (HttpContext.IsDebuggingEnabled)' en MVC 5. – JohnnyHK

Cuestiones relacionadas