2012-06-14 13 views
8

A menudo necesito depurar/probar mi código o una pequeña parte de él.Depurar el código de C# sin ejecutar la aplicación

Una forma de hacerlo es, por supuesto, para ejecutar la aplicación que estoy desarrollando, o en el desarrollo de una biblioteca de clases crear una pequeña prueba.

Otra forma es crear una unidad de prueba sólo para propósitos de depuración y ejecutarlo en Visual Studio.

Pero, ¿qué pasa si no quiero escribir código adicional (como pruebas de unidades desechables) y no quiero iniciar toda la aplicación (toma un tiempo para iniciar y navegar hasta el código que quiero depurar?)?

¿Hay una forma de ejecutar una pequeña porción de código en Visual Stuio interpretar respectivamente código C#?

EDITAR

que sé sobre LINQPad.

Pero a veces quiero saber, p. cómo se ve un Form mientras se ejecuta o si un componente puede hablar con una base de datos. Así LINQPad no se adapta a mis necesidades en esos casos ...

+1

Esto puede ser complicado si el código es dependiente de otro código. Para fragmentos independientes muy pequeños, ¿por qué no crear un proyecto de línea de comandos desde cero y copiar y pegar el código allí? – Vlad

+0

Puede usar la opción QuickWatch en Visual Studio. Si desea probar algunas declaraciones diferentes en el mismo código, coloque un punto de interrupción en la posición y abra la ventana de observación rápida. Puede encontrar el resultado de la declaración escribiéndola en la ventana de QuickWatch. –

+0

¿Es un proyecto separado? o una parte en un proyecto completo? – crassr3cords

Respuesta

8

utilizo LINQPad http://www.linqpad.net/ para la prueba rápida de código C#.

+0

Solo lo estaba usando para hacer algunas manipulaciones de cadenas serias que me habrían tomado una edad en mi aplicación, ¡es impresionante! – MoonKnight

+1

La versión gratuita no incluye intellisense, pero si está copiando código de VS no debería importar ... sin embargo vale la pena cada centavo para la versión completa :) (no afiliado, solo un cliente feliz) – Jake1164

+0

Sí, yo conocer y usar linqpad. Pero no puedes, por ej.muestra un 'Windows.Form' para fines de depuración ... –

2

Tenga una mirada en LINQPad. Es excelente para probar fragmentos de código. No se deje intimidar por el nombre, tiene soporte para programas y expresiones C#/F #.

3

Otra opción es descargar la última Roslyn community preview, y tenerla con la C# Interactive Window. Es un software de lanzamiento previo, por lo que no es compatible con todo el conjunto de características de C#, pero se está acercando bastante.

2

Otra opción para realizar pruebas rápidas es Scratchpad.cs. A menudo es mejor que crear proyectos de línea de comando solo para probar una idea.

2

Eche un vistazo a F# interpreter.

lo uso regularmente para probar pequeñas muestras de código.

Digamos que usted tiene un poco de código como este:

namespace ConsoleApplication5 
{ 
    public class Test 
    { 
     public Int32 Sum(int a, int b) 
     { 
      return a + b; 
     } 
    } 
    ... 
} 

fuego hasta la ventana F # Interactivo, añadir un referece a sus asambleas, y empezar a depurar!

> #I @"C:\PathToYourProject\bin\debug";; 
--> Added .... to library include path 
> #r "ConsoleApplication5.exe";; 
--> Referenced ... 
> let t = ConsoleApplication5.Test();; 
val t : ConsoleApplication5.Test 
> t.Sum(9, 7);; 
val it : int = 16 
> 
+0

Parece prometedor .... –

+0

¡Esto funciona muy bien! Hice una prueba rápida con un formulario creado dinámicamente/poblado que actualmente estoy depurando, ¡y funcionó! –

Cuestiones relacionadas