Esta lección es parte de un tutorial continuo. La primera parte es aquí: Errores en el tiempo de diseño
En la última parte, añadiste un código a un botón. Todo lo que el código hace es intentar contar cuántas veces apareció la letra «g» en la palabra «Depuración». Vimos que el programa no pudo hacer esto, y se nos ocurrió la respuesta cero. Para ayudarte a descubrir qué fue lo que falló, hay una herramienta en VB .NET llamado Breakpoint. Veamos qué es esto, y cómo usar los Breakpoints.
VB NET Breakpoints
Un punto de ruptura es como una nota a VB.NET para detener su programa en un determinado lugar. Añade uno a tu código haciendo clic en los márgenes. Un círculo marrón entonces aparece, indicando dónde se romperá el código. Las dos imágenes siguientes mostrar cómo añadir uno:

Al hacer clic en los márgenes, a la izquierda de una línea de código, aparece un círculo marrón:

Fíjate que la línea donde quieres que se rompa el VB.NET está resaltada marrón.
Ejecute su programa y haga clic en el botón. Usted será inmediatamente devuelto a la ventana de codificación. El lugar donde pones el punto de ruptura tendrá ahora una ventana amarilla flecha en la parte superior del círculo marrón. La línea marrón resaltada será ahora amarilla:

El resaltado amarillo indica en qué parte de tu código está VB.NET. A continúa revisando tu código, presiona F10 en tu teclado (también puedes presionar F11, pero esto saltará a cualquier sub o función que hayas configurado).
La siguiente línea de su código será resaltada:

La flecha amarilla, y el resaltado amarillo, saltan por una línea. Presione la tecla F10 de nuevo. Luego mantenga el ratón sobre la variable de la letra. El valor esta variable que actualmente se mantiene se mostrará:
![]()
La primera vez que se hace el bucle, el valor en letra es «e» (La «c» al lado significa que el tipo de variable es Carácter).
Si la «e» de «Depuración» se comprueba primero, ¿qué le pasó a la «D»? De inmediato, esto indica un problema. Y el problema es que el método de la Substring empieza a contar desde cero. Así que deténgase su programa haciendo clic en » Debug > Stop Debugging «, o haz clic en el icono Stop de la barra de herramientas. Cambia la línea en cuestión a esto:
letter = strText.Substring(0)
Vuelve a ejecutar tu programa y haz clic en el botón. Cuando regreses a tu código, presione la tecla F10 y compruebe el valor de la variable de la letra. Debería ahora sea esto:
![]()
Esta vez, el código está capturando la primera letra de la palabra cuando comienza el bucle, y no el segundo.
¿Es eso? ¿Hemos encontrado la causa de nuestros problemas? Detenga su programa. Haga clic en en el círculo marrón para deshacerse del Breakpoint. Pásalo otra vez, y mira que sucede.
¡El número de Gs contados sigue siendo cero! Así que el error lógico aún no ha sido localizado. Crea otro punto de ruptura en el mismo lugar, e inténtalo de nuevo.
Puede continuar presionando la tecla F10 hasta que haya detectado el error. O bien… puede usar otra herramienta de depuración – la ventana de los locales.
Mientras su programa esté todavía en modo Debug (la línea amarilla seguirá siendo allí, si es así), haga clic en Debug > Windows > Locales del menú bar. Deberías ver lo siguiente en la parte inferior izquierda de tu pantalla:

Locales significa «Variables locales». Es decir, las variables declaradas en esta sección del código. Las variables i , letra y LetterCount se muestran en la ventana. También se muestra el valor de estas variables: 0 , Nada y 0 . Presiona F10 y estos valores cambiarán. Esto es la ventana de los locales después de una vuelta al circuito:

La variable i es ahora 2 ; la letra es » D «, y LetterCount , sigue siendo 0 . Sigue presionando F10 y rodea el …en bucle unas cuantas veces. ¿Qué es lo que notas?
Deberías notar que el valor de la letra nunca se mueve. Es «D» todo el tiempo. Y es por eso que la Cuenta de las Letras nunca pasa de 0.
Ejercicio J
¿Por qué LetterCount nunca va más allá de 0? Corrija el código para que su El cuadro de texto muestra la respuesta correcta de 3 cuando se ejecuta el programa.
Respuesta al ejercicio J
Y eso es todo para la comprobación y depuración de errores. A menudo puede ser una forma de arte en sí mismo. Pero uno con el que vale la pena perseverar: ¡podría ahorrarte muchos dolores de cabeza!
En la siguiente sección, seguiremos adelante y veremos qué son las matrices.
Aprenda sobre los arreglos en Visual Basic .NET –;
Espero que te haya sido de ayuda!