Вы находитесь на странице: 1из 3

Funcionalidades poco conocidas del "Debugger"

Ultima actualizacin Martes 13 de Noviembre de 2007 15:54

En este artculo, les mostramos algunas funcionalidades del "debugger" interactivo


de ILE (STRDBG) que son muy tiles cuando estamos en nuestras faenas de encontrar un
error.

%SUBSTR Built-In Function

Esta funcin es muy interesante, sobretodo si usted est trabajando con cadenas de caracteres
muy largas. - Se puede visualizar un segmento de una cadena como se muestra a continuacin
(suponiendo que StringFldA = 'abcdefghijklmnopqrstuvwxyz'):

Comando : EVAL %SUBSTR(StringFldA 12 5)


Resultado: %SUBSTR(StringFldA 12 5) = 'lmnop' - Se puede usar la funcin %SUBSTR para
fijar el valor de una parte especfica de una cadena. Para m, esta es la ms til de estas dos
funciones.

Comando : EVAL %SUBSTR(StringFldA 12 5) = 'xxxxx'


Resultado: %SUBSTR(StringFldA 12 5) = 'xxxxx'

Comando : EVAL StringFldA


Resultado: StringFldA = 'abcdefghijkxxxxxqrstuvwxyz'

- Tambin puede usar %SUBSTR para establecer un punto de parada condicional o una
condicin de inspeccin ("watch"). Por ejemplo, el siguiente cdigo detendr la
ejecucin slo cuando las posiciones 12 a 16 de StringFldA sean "xxxxx":

1/3

Funcionalidades poco conocidas del "Debugger"

Ultima actualizacin Martes 13 de Noviembre de 2007 15:54

Comando: BREAK 100 when %SUBSTR(StringFldA 12 5) = 'xxxxx'

- O usted puede buscar por cambio en las mismas posiciones mediante el uso de esta
condicin de inspeccin:

Comando: WATCH %SUBSTR(StringFldA 12 5)

De este modo, en cualquier momento que el contenido de las posiciones 12 a 16 cambie, la


ejecucin del programa se detiene y se le informa.

%INDEX Built-In Function

La funcin %INDEX es muy prctica cuando se est utilizando estructuras de datos de


mltiples ocurrencias.

2/3

Funcionalidades poco conocidas del "Debugger"

Ultima actualizacin Martes 13 de Noviembre de 2007 15:54

Tambin es til en combinacin con _QRNU_DSI_xxxx (donde xxxx = el nombre de una


estructura de datos de mltiples ocurrencias).

- El comando EVAL _QRNU_DSI_xxxx devuelve el nmero de la actual ocurrencia de


estructura de datos de mltiples ocurrencias.

- El uso de la funcin %INDEX cambiar la ocurrencia actual.

Tomemos el siguiente ejemplo:

dWorkDS1dsoccurs(3)
dStringA10a
dStringB25a

Comando: EVAL _QRNU_DSI_WorkDS1


Resultado: 1 (o cual sea la actual ocurrencia de WorkDS1)
Comando : WorkDS1 = %INDEX(3)
Resultado: WorkDS1 = %INDEX(3) = 3
(Los subcampos de WorkDS1 visualizados sern los de la tercera ocurrencia.)

3/3

Вам также может понравиться