Conceptos mínimos sobre depuración
Conceptos mínimos sobre depuración
Para probar los ejemplos en este tema hemos utilizado hasta ahora la salida a consola. Sin embargo, pueden plantearse situaciones en las que la visualización por consola no sea suficiente, requiriendo un seguimiento línea a línea durante la ejecución del programa.
Ante esta tesitura debemos recurrir a un elemento imprescindible, que toda herramienta de desarrollo que se precie debe disponer: el depurador.
Un depurador nos permite introducirnos dentro del código de nuestro programa durante la ejecución del mismo, para observar qué es lo que está ocurriendo: ejecutar línea a línea el programa, observar el valor de las variables, etc., aspectos todos ellos fundamentales para el seguimiento de errores y fallos en la lógica de la aplicación.
© Grupo EIDOS 12. El lenguaje
VS.NET dispone de un excelente depurador; del que describiremos a continuación sus elementos más básicos, para que el lector pueda realizar un seguimiento más preciso de lo que sucede durante la ejecución de su aplicación.
Para ejecutar el programa en modo de depuración pulsaremos [F8], o seleccionaremos el menú Depurar + Ir a instrucciones. Cualquiera de estas acciones iniciarán el programa dentro del contexto del depurador, deteniendo la ejecución en la primera línea de código ejecutable, destacada en color amarillo. La línea marcada en amarillo indica que está a punto de ejecutarse, para ejecutarla y pasar a la siguiente línea pulsaremos de nuevo [F8], y así sucesivamente hasta llegar a la última línea del programa, donde se finalizará el mismo, cerrándose el depurador.
Podemos ver de forma inmediata el valor de una variable simplemente situando el cursor del ratón sobre ella, con lo que se mostrará una viñeta informativa de su valor. Ver Figura 172.
Figura 172. Ejecución del programa en el depurador.
Podemos también ver con detalle el valor que van adquiriendo las variables a lo largo de la ejecución, abriendo la ventana Locales del depurador, mediante el menú Depurar + Ventanas + Locales, o la pulsación [CTRL + ALT + V, L]. Ver Figura 173.
Figura 173. Ventana Locales del depurador.
Programación con Visual Basic .NET © Grupo EIDOS
En el caso de arrays, debemos hacer clic en el signo más ( + ) que aparece junto al nombre de la variable, para abrir y mostrar los elementos del array. Ver Figura 174.
Figura 174. Ventana Locales del depurador, mostrando el contenido de un array.
Si en cualquier momento queremos continuar la ejecución normal del programa sin seguir usando el depurador, pulsaremos [F5].
Operadores del lenguaje
Los operadores son aquellos elementos del lenguaje que nos permiten combinar variables, constantes, valores literales, instrucciones, etc., para obtener un valor numérico, lógico, de cadena, etc., como resultado.
La combinación de operadores con variables, instrucciones, etc., se denomina expresión, mientras que
a los elementos integrantes de una expresión y que no son operadores, se les denomina operandos. En función de la complejidad de la operación a realizar, o del tipo de operador utilizado, una expresión
puede ser manipulada a su vez como un operando dentro de otra expresión de mayor nivel. Los operadores se clasifican en las categorías detalladas a continuación, según el tipo de expresión a
construir.
Parts
» Visual branding biro perjalanan alam (1)
» El manifiesto del ensamblado
» Instalación de Visual Studio .NET
» Grabando texto en un fichero
» Principales elementos en nuestro entorno de trabajo
» Manejo de ventanas adicionales del IDE
» Conceptos mínimos sobre depuración
» Comparación de cadenas en base a un patrón. El operador Like
» Uso de paréntesis para mejorar la legibilidad de expresiones
» Sintaxis de un procedimiento Function
» Sobrecarga de procedimientos
» Abordando un problema mediante programación procedural
» Creación de propiedades para la clase
» Encapsulación a través de propiedades
» Creación de métodos para la clase
» Sobrecarga de métodos o polimorfismo, en una misma clase
» Espacios de nombres (namespaces)
» Acceso a espacios de nombre de otros ensamblados
» Herencia y sobre-escritura de métodos
» Diferencias entre sobrecarga y sobre-escritura en base al tipo de enlace
» Ocultamiento de miembros de una clase
» Comportamiento de las palabras clave Me, MyClass y MyBase ante la sobre-escritura de métodos
» Herencia y métodos constructores
» Clases abstractas o no instanciables
» Comprobación del tipo de un objeto y moldeado (casting)
» Destrucción de objetos y recolección de basura
» Creación y manipulación de estructuras
» Estructuras o clases, ¿cuál debemos utilizar?
» Manipulación de cadenas con la clase String
» Optimizando la manipulación de cadenas con la clase StringBuilder
» Extender las funcionalidades de una clase a través de delegados
» La clase EventArgs, o cómo obtener información del objeto emisor del evento
» Obtención de subarrays a partir de un objeto ArrayList
» Manejo básico de colecciones Hashtable
» Operaciones varias con colecciones Hashtable
» Manipulación de valores en una colección Queue
» Implementando un interfaz para crear una nueva colección
» Manipulación estructurada de errores
» La influencia del orden de los manipuladores de excepciones
» Creación de excepciones personalizadas
» Manipulación de archivos mediante File y FileInfo
» Manipulación de archivos mediante Directory y DirectoryInfo
» Monitorización del sistema de archivos con FileSystemWatcher
» Creación de un formulario básico
» Iniciar el formulario desde Main( )
» Codificación de los eventos de controles
» Selección de texto en un TextBox
» Compartiendo código entre controles
» Crear una clase derivada de un control
» Agregar un proyecto con un formulario derivado
» Crear un formulario heredado desde un proyecto independiente
» Creación de menús desde código
» Detectando el estado de finalización
» Crear un proceso de monitorización
» Comportamiento Modal de formularios
» Formularios dependientes y fijos en primer plano
» Dibujo con las clases Graphics y Pen
» Manipulación de los eventos de pintado en la clase Form
» Manipulando el grado de opacidad del formulario
» Integrando elementos. Un visualizador de gráficos
» Comparativa de ADO /ADO .NET
» Arquitectura de datos desconectados
» Una visión general de ADO .NET
» Espacios de nombres y clases en ADO .NET
» Empleo de Data Binding simple para navegar y editar datos
» Configurar por código las propiedades del DataGrid
Show more