Algunos consejos para el uso del depurador

24/03/2020

 

Autor: Rick A. Schummer

En la Conferencia GLGDW hubo una sesión en panel sobre las mejores prácticas y consejos para depurar. Yo fui uno de los que debió participar; pero Doug Hennig necesitó mi PC para su presentación sobre desarrollo de aplicaciones verticales. Entonces, he pensado mostrar mis mejores prácticas por aquí, aunque creo que Dan Freeman las mencionó brevemente durante la sesión.

Un desarrollador Visual FoxPro puede realizar un gran trabajo de configuración del depurador al configurar la ventana Examinar, colocando exactamente los puntos de interrupción que necesita para una aplicación o módulo y seleccionando ciertos eventos para que sean corridos con traza. La configuración puede cambiar en dependencia de la aplicación o un módulo específico en una aplicación. Podemos eliminar expresiones desde la ventana Examinar y colocar en ella nuevas ya que estamos verificando varios módulos, podemos activar y desactivar puntos de ruptura, y podemos mover los eventos que estamos verificando hacia y desde la lista. Otra vía en la que podemos guardar la configuración exacta del módulo y llamarlo después la configuración sin necesidad de reconfigurar las expresiones o puntos de ruptura.

Esto se puede lograr sólo desde el marco de depuración (Debug frame) Utilizando el menú, puede seleccionar Archivo - Guardar Configuración ... para crear un archivo. Este archivo guarda un diálogo de forma predeterminada en la carpeta raíz de VFP. Para recuperar una configuración anterior Menú - Archivo - Cargar Configuración ... El contenido del archivo se guarda en texto ASCII. He aquí un ejemplo:

  DBGCFGVERSION=4
  WATCH=_screen
  WATCH=set("deleted")
  WATCH=set("path")
  WATCH=thisform
  WATCH=curdir()
  WATCH=recno()
  WATCH=eof()
  WATCH=_vfp.ActiveProject
  BPMESSAGE=OFF
  BREAKPOINT BEGIN
  TYPE=2
  CLASS=
  LINE=0
  EXPR=EOF("curReport")
  DISABLED=0
  EXACT=0
  BREAKPOINT END

  BREAKPOINT BEGIN
  TYPE=3
  CLASS=
  LINE=0
  EXPR="MAIN"$PROGRAM()
  DISABLED=1
  EXACT=0
  BREAKPOINT END

  EVENTWINDOW=ON
  EVENTFILE=
  EVENTLIST BEGIN
  Activate, Deactivate
  EVENTLIST END

Puede manipular el contenido de forma segura con un editor de texto y recargar la configuración. Haga copias de este archivo si le preocupa perder esta configuración.

Lo que es realmente bueno es que estos archivos se pueden crear por programación. Vea que las expresiones de la ventana Examinar, son sencillamente líneas y pueden estar en cualquier lugar del archivo. Por tanto se pueden agregar sencillamente con esta sencilla línea de código:

  STRTOFILE("WATCH=ALIAS()", "MyDebugSettings.DBG", 1)

Puede además organizar las expresiones en el archivo. Algo que me molesta de la ventana Examinar es que cada nueva expresión se agrega al final de la lista. Puede agregarlas al inicio utilizando el siguiente código:

  lcFileContents = FILETOSTR("MyDebugSettings.DBG")
  STRTOFILE("WATCH=ALIAS()" + CHR(13) + lcFileContents, "MyDebugSettings.DBG", 1)

Una vez que la agregue, tiene que cargar nuevamente el archivo de configuración. Una desventaja es que pierde las posibilidades que ofrece IntelliSense para la ventana Examinar.

Cada vez que comento a alguien sobre esta posibilidad, siempre hay quien dice que nunca escuchó de que existía.

 

Vea también

 

Descarga

Algunos consejos para el uso del depurador

 

 

 


 

Referencias

Artículo original: Debugging Tip
http://rickschummer.com/blog/2006/05/debugging-tip.html
Autor: Rick A. Schummer
Traducido por: Ana María Bisbé York

 


 

 

 



error: Contenido protegido