Compartir a través de


Depurar la aplicación de ejemplo de .NET Framework

En general, para depurar una aplicación .NET Framework ejecutándola en DbgClr es necesario realizar varios pasos. Para ejecutar el ejemplo de depuración, habrá que compilar la aplicación y sus componentes. Si se desea detener la ejecución en una instrucción determinada, habrá que realizar los cinco pasos siguientes.

  1. Iniciar el depurador.
  2. Configurar el programa para depuración.
  3. Abrir los archivos de código fuente.
  4. Establecer las condiciones de interrupción.
  5. Iniciar la ejecución con depuración.

Otro método para efectuar la depuración, que resulta útil si se desea recorrer paso a paso el programa desde el principio, consiste en realizar los tres pasos siguientes.

  1. Iniciar el depurador.
  2. Configurar el programa para depuración.
  3. Presionar la tecla F10.

Llegados a este punto, el depurador intentará encontrar el código fuente automáticamente. Si el código fuente sigue en la ubicación desde la que se compiló, el depurador lo encontrará automáticamente (basándose en la ruta de acceso escrita en el archivo PDB) e interrumpirá la ejecución en la primera línea del procedimiento Main.

Para interrumpir el programa de ejemplo con el primer método, que permite detener la ejecución en una instrucción determinada, hay que realizar los cinco pasos siguientes.

  1. Para utilizar Microsoft CLR Debugger, ejecute el programa DbgClr.exe, que se encuentra en el subdirectorio \GuiDebug bajo el directorio de instalación de .NET Framework SDK.
  2. Seleccione Programa para depurar en el menú Depurar con el fin de mostrar el cuadro de diálogo Programa para depurar. Busque y seleccione la versión en Visual Basic o Visual C# de Calc.exe y haga clic en Aceptar.
  3. Abra los tres archivos de código fuente: A) calc.vb y parser.vb en el subdirectorio \Calc\VB y math.vb en el subdirectorio \Calc\VB\Math, o B) calc.cs y parser.cs en el subdirectorio \Calc\CS y math.cs en el subdirectorio \Calc\CS\Math.
  4. Utilice una de las cuatro formas de establecer un punto de interrupción justo en el método btnEqualsClicked de Calc.cs: presione F9, presione CTRL+B, haga clic en el margen derecho o elija la línea y Nuevo punto de interrupción en el menú Depurar.
  5. Comience a depurar la aplicación; para ello, presione F10 con el fin de recorrer paso a paso Calc.vb o Calc.cs. Opcionalmente, es posible dejar que el programa se ejecute presionando F5. En ambos casos se obtendrá un formulario con una pequeña calculadora. Con las teclas de la calculadora, escriba una fórmula sencilla, por ejemplo 7+8, y haga clic en el botón Calcular. La ejecución pasará entonces al depurador, que se detendrá en el punto de interrupción establecido previamente en el paso 4.

La ilustración siguiente muestra cómo se recorre paso a paso la versión en Visual C# del programa Calculator con el depurador:

Es posible examinar las variables en la ventana Locales. Si la ventana no está visible, elija Windows en el menú Depurar y haga clic en Locales. También es posible detener el puntero del mouse sobre el código para ver los valores. Si una variable determinada no se puede evaluar, sería conveniente ver el texto no se puede realizar la evaluación de funciones implícitas en este contexto.

A partir de este momento, se puede continuar el recorrido por el código si se presiona repetidamente F10. Al llegar a la siguiente instrucción de código fuente de Calc.vb o su equivalente, Calc.cs:

txtFormula.Text = m.GetResult(Convert.ToInt32(a.Arg1), 
     a.Op, Convert.ToInt32(a.Arg2)) ' Visual Basic .NET

O bien

txtFormula.Text = m.GetResult(Convert.ToInt32(a.Arg1), 
   a.Op, Convert.ToInt32(a.Arg2)); // C#

También se recorrerá el código de Parser.cs o Parser.vb (en el caso de ParseUtil.Arguments), y de Math.cs o Math.vb (en el caso de Math.IntegerMath).

Vea también

Interrumpir y abrir el depurador | Clases de seguimiento y depuración | Depuración y optimización | Microsoft CLR Debugger | Depurar aplicaciones Web de ASP.NET | Apéndice A: Para obtener más información | Apéndice B: Depurador en tiempo de ejecución (CorDbg.exe)