Home

Manual de utilização de 4GL Interactive Debugger

image

Contents

1. 27 28 SA VARIABLE ai Sa 29 9 OUTRAS VISUALIZA ES a id a ana 30 91 ELOS EUROS EE PELES TITLE SS pia aaa Ta end 30 DD ATE SA qdo Dota iodo soon bt Dr poa EA da lara ba do 31 0 2 WHERE 255 32 10 PARAGENS DE 20225222 5552551 6666 posadisosstesu sa contre tado code so acesso seda sites 32 10 1 PONTOS DE 32 102 BREAK P PEE LEET RAE CAE AE E TEETE AET ETENE E NEA EAEE E TIE 33 10 3 PARAGEM CONDICIONA T 2 a r E E E OaE IEEE a 35 10 4 PARAGEM COM EXECU O DE 36 10 5 PARAGEM DEPOIS DE UMA QUANTIDADE DE PASSAGENS 00004 36 10 6 DESACTIVA O ACTIVA O E REMO O DE PONTOS DE PARAGEM 36 10 7 255 E Tese Sra EL AA 37 Snos 37 MoreData P gina 3
2. Entre cada linha mostrada na janela de comando ser feita uma paragem de 2 segundos No seguinte exemplo assume se a diminui o da janela de source em 7 linhas define exp 4gl main i grow 7 1 i i timedelay command 2 4 i i list display 4 1 i TERMINAL DISPLAY STATE rautotoggle on 4 i idisplaystops on 4 i sourcetrace MoreData P gina 23 Interactive Debugger texitsource 4 iprintdelay 4 i itimedelay source itimedelay command isource lines icommand lines Tendo sido alterado o atraso no mostra na janela de comando o aparecimento do resultado do list consider velmente mais lento pois um atrazo de 2 segundos aparece entre cada linha enviada para o cran 7 4 Step Executa um ou mais comandos 4gl Quando se est a trabalhar com execu o passo a passo necess rio um comando para permitir a execu o de mais um passo Esse comando o step e para al m de permitir a execu o de mais um passo permite ainda a execu o de um passo e ou assumir uma fun o como um nico passo ainda dizer para n o ligar aos breakpoints definidos por onde passe A sua sintaxe STEP n INTO NOBREAK Conforme se pode verificar o nome que se especifica a seguir instru o step opcionalmente define o n mero de instru es a executar para este passo definido Se o par metro into f r especificado uma fun o ser assumida como um passo nico caso co
3. n o tendo qualquer significado especial de defini o de sintaxe Estes breakpoints podem ser bviamente condicionais em incondicionais consoante especificar ou n o o comando IF 10 5 Paragem depois de uma quantidade de passagens Por fim podemos ainda parar em determinado s tio depois de l passar um n mero de vezes por n s especificado por exemplo se tivermos um ciclo FOR e s nos interessar a ltima interac o sua sintaxe a seguinte BREAK defini o break count condi es e execu es Consoante o n mero espec ficado no lugar de count assim ser o n mero de vezes que o programa passar naquele ponto sem efectuar qualquer paragem De notar que caso tenha um IF o contador s ser decrementado caso a express o d um valor verdadeiro 10 6 Desactiva o activa o e remo o de pontos de paragem Para activar e desactivar breakpoints tal como j atr s foi descrito utilizam se os comandos enable e disable Para remover efectivamente os pontos de paragem utiliza se o comando nobreak MoreData P gina 36 Interactive Debugger sua sintaxe a seguinte NOBREAK nome n refer ncia fun o ALL Esta sintaxe funciona da mesma forma que para o enable e disable Assim podemos remover todos os breakpoints se utilizarmos o argumento all ou remover um breakpoint especifico identificando o de uma das seguintes formas nome se entre aspas obrigat riamente um nome sen o a
4. o ALL A identifica o do tracepoint pode ser feita atrv s do seu nome n mero de refer ncia fun o ou desactivar todas os tracepoints existentes 12 Escrita e leitura de uma sess o de debugg Uma das facilidades existentes para aumentar a produtividade do debugg a possibilidade de escrver e ler parcialmente ou n o todo o ambiente das sess es de debugg Para al m disso os ficheiros utilizados s o estritamente de texto por conseguinte poder o eventualmente ser criados atrv s do editor de texto 12 1 Escrever guardar sess o de debugg 12 1 1 Write Mais atr s foi referida que a sess o poderia ser guardada e ainda s o parcialmente Para tal utiliza se o comando write que se utiliza da forma que de seguida se descreve WRITE BREAK TRACE DISPLAY ALIASES gt gt nome ficheiro MoreData P gina 40 Interactive Debugger Conforme se pode perceber o comando composto por quatro partes O seu nome pr priamente dito os par metros a salvaguardar as op es de escrita e o nome do ficheiro Os par metros a salvaguardar poder ser qualquer dos seguintes e poder o ser utilizados v rios de cada vez BREAK Guarda os breakpoints definidos TRACE Guarda os tracepoints definidos ALIASES Guarda todos os aliases existentes DISPLAY Escreve a configura o dos par metros da Se reparar o redirecionamento gt gt opcional Se o incluir nos par metros a guardar ser o escritos no fin
5. Interactive Debugger 11 1 TRACEPOINT A PASSAGEM POR 39 11 2 TRACEPOINT E ALTERA O DE 2 21 2142 22 00000 000000000010000000000000000055005050 39 11 3 TRACEJAMENTO DE VARI VEL APENAS NUMA 2 2 14 00 000 0001000000000000000 39 11 4 TRACEPOINTS EXECUTANDO COMANDOS 39 11 5 ACTIVA O DE TRACEP INTS eee near 39 11 6 40 11 7 REMO O DE TRACEPOINTS P eea RTE erer enra ERr aee 40 12 ESCRITA E LEITURA DE UMA SESS O DE 2 40 12 1 ESCREVER GUARDAR SESS O DE 40 13 CASOS CONCRETOS DE AN LISE 2 42 13 ANALISAR ERROS FATAIS estacas ie snes aa 42 GLOSSARIO ai 44 MoreData P gina 4 Interactive Debugger 1 Introdu o No desenvolvimento de programas utilizando linguagem procedimentais trad
6. Interactive Debugger P gina 46
7. Reproduzir o erro Descobrir m dulo e linha onde aborta logfile ou mensagem de erro Alterar caminhos de busca para permitir encontrar m dulos envolvidos no erro instru o use Verificar e analisar todo o ambiente existente na altura do erro run where dump Criar conforme necess rio pontos de paragem e tracejamento a vari veis ou fun es para an lise Se o respons vel f r o conte do de uma vari vel dever efectuar o teste fazendo uma atribui o com let de um valor correcto 13 1 1 Uma vari vel n o tem os volumes que deveria ter Se detectou que uma vari vel n o cont m um valor corrente isto um valor que permita um correcto funcionamento do programa a receita para efectuaros testes necess rios Fazer uma frase a essa vari vel Descobrir onde a vari vel afectada com um valor incorrecto Simular uma execu o efectuada depois deste ponto a vari vel com um valor correcto Se o programa funcionar dever alterar de forma definitiva no source e voltar a compilar 13 1 1 1 0 fluxo do programa n o segue que se pretende MoreData Testar a funcionalidade de uma fun o O cliente identificou um erro de l gica pelo cran e uma vez que n o fomos n s a faz lo e pretendemos descobrir em que fun o e m dulo aparece o erro As vari veis est o a ficar todas baralhadas Cada vez que querem ver uma vari vel tenho de escrver um comando muito extenso P gina 42 Interactiv
8. U gt Move o cursor meia janela para cima lt control D gt Move o cursor meia janela para baixo n tecla controle sendo n um n executa a ac o definitiva pela tecla de controle n vezes n return move se para a linha n do programa Vai para fim do ficheiro string de busca Procura uma frase de acordo com a string de busca definida return move se para a pr xima ocorr ncia da ltima busca introduzida 3 6 Comando VIEW Com o comando view poss vel passar da janela de comando para a janela do programa fonte A sua sintaxe a seguinte VIEW m dulo fun o Se n o f r atribu do nenhum nome do m dulo ou da fun o a ac o ir passar para a janela de source do programa corrente Se f r descriminado um m dulo ou fun o e caso este n o se refira ao source corrente aparecer na janela de source o respectivo programa fonte No exemplo que se segue o nosso programa encontra se dividido em dois m dulos exp 4gl e exp1 4gl estando main no m dulo exp 4gl e a nica fun o funcl no m dulo exp1 4gl Quando executamos o ID nos apresentada a janela de source com o m dulo onde se encontra a fun o main MoreData P gina 10 Interactive Debugger define ans smallint let ans funcl end main exp 4gl main De notar que no comando view n o foi apresentada a extens o 401 do ficheiro o que n o poder fazer pois o ID
9. e monitorizar a sua execu o MoreData P gina 15 Interactive Debugger Supondo que se encontra a trabalhar no terminal tty01 e pretendia enviar o resultado para o tty02 ent o deveria digitar o seguinte comando na linha de comando do ID display HELLO WORLD end main exp 4gl main S Application device dev tty02 4 4 TURN MoreData P gina 16 Interactive Debugger Serve para ligar e desligar os par metros do funcionamento do cran Para ligar e ou desligar alguns dos par metros de funcionamento do cran utiliza se a instru o turn Os argumentos desta instru o dividem se em dois tipos distintos e Ac o a efectuar ligar ou desligar e Par metro a alterar Se n o f r especificada a ac o o par metro ser ligado ON A sintaxe gen rica deste comando TURN ON OFF i AUTOTOGGLE STOPS SOURCE RO IICT LER Conforme se pode verificar desde que se pretenda efectuara mesma op o ligar ou possivel efectu la sobre mais do que um par metro de cada vez Se n o f r executada nenhuma opera o de altera o sobre os par metros ser o assumidas as seguintes configura es AUTOTOGGLE ON DISPLAYSTOPS ON EXITSOURCE ON PRINTDELAY OFF SOURCETRACE OFF 4 5 WHERE Apresenta a pilha de fun es com respectivos argumentos de execu o MoreData P gina 17 Interactive Debugger Quando se analisa um programa muitas vezes nec
10. for aliada escrita e leitura de comandos em ficheiros ir permitir um grande aumento de produtividade na an lise a programas A sintaxe gen rica deste comando descrita na seguinte figura ALIAS nome comando nome comando comando 1 MoreData P gina 13 Interactive Debugger Conforme pode verificar poder utilizar tr s tipos de argumentos alternativos O primeiro destes serve para que o programa mostre lista os aliases existentes Existe diferen a entre a sintaxe de utiliza o de um ou mais comandos pois com mais do que nem um comando dever colocar os comandos entre chavetas e separar por Se o pretender pode definir um alias constitu do por aliases no entanto n o poder meter mais de 5 n veis de aliases misturados display HELLO WORLD end main exp 4gl main dump all liga breaks enable 1 enable 2 desliga breaks disable 1 disable 2 A syntax error has occurred Neste exemplo foram definidos v rios aliases tanto para apenas um comando como para um conjunto de comandos Para ver os aliases definidos bastou fazer alias 4 2 Direccionamento do Output gt gt Alguns comandos do ID d o por vezes resultados que nem sequer cabem no cran tornando se imposs vel utilizar o seu resultado para o que quer que seja Foram no entanto dotados de uma capacidade de escrever o resultado num ficheiro do sistema operativo que
11. gt NOME FICHEIRO Este comando despeja as vari veis para o cran ou para dentro de um ficheiro permite a utiliza o de redireccionamento As vari veis seleccionadas podem tamb m ser seleccionadas pelo seu tipo Assim se utilizar a op o GLOBALS s ser o despejadas as vari veis globais Se escolher a op o ALL ser o despejadas todas as vari veis globais e locais fun o corrente MoreData P gina 28 Interactive Debugger Caso n o especifique nenhuma das op es ser o seleccionadas apenas as vari veis locais fun o corrente define frase char 50 let frase arg val 1 display frase end main hello 4gl main 5 4 break main 4 11 0 4411 scope function main frase Hello World Conforme experimentado no exemplo hello 4gl fazendo o comando dump dentro de uma fun o sem qualquer argumento faz com que sejam despegadas as vari veis da fun o activa isto da fun o main 8 4 Variable Este comando serve para mostrar a linha de declara o de determinada vari vel ou vari veis Aliada ao redireccionamento poder escrever o resultado num ficheiro A sua sintaxe gen rica VARIABLE vari vel GLOBALS ALL gt gt nome ficheiro MoreData P gina 29 Interactive Debugger Com o resultado deste comando vir tamb m o n vel scope a fun o onde reconhecida a vari vel pedida Sem nenhum argumento for enviado ao comando ser o
12. ir dar um erro O resultado ser o seguinte function funcl display HELLO WORLD return 1 end function exp1l 4gl funcl visualizarmos fun o func poder amos opcionalmente ter digitado o comando view com a fun o como par metro Assim poderia ter digitado os seguintes comandos view funcl O ID apresenta a fun o funcl na janela de source view main O ID apresenta a fun o main na janela de source 3 7 USE Altera o de caminho de procura O comando use serve para especificar a s directoria s de busca dos programas fonte Se nada em contr rio for especificado com o par metro I ou vari vel DBSRC o nico s tio onde o debugger ir tentar buscar os programas fonte ser directoria corrente MoreData P gina 11 Interactive Debugger Com o comando use pode adicionar novos caminhos A sua sintaxe a seguinte USE pathname Se digitar o comando use sem qualquer argumento ser apresentado no cran o caminho de busca utilizado at aqui Se utilizar o caracter igual est a dizer debugger para esquecer o caminho anterior anterior e utilizar apenas o especificado Se digitar o comando sem igual ent o estar a adicionar ao caminho antigo um caminho adicional Exemplo 1 feldb exp display HELLO WORLD end main exp 4gl main iCurrent search path i use tmp iCurrent search path t
13. let atribui a uma vari vel o resultado de uma fun o Pode durante o exame a uma aplica o simular atribui es que dever o ser feitas A sua sintaxe LET vari vel express o vari veis poder o ser quaisquer desde que definidas no programa e que sejam globais ou locais fun o corrente De forma id ntica ao 4GL poder tamb m atribuir no caso de strings valores de partes de string s utilizando indexa es MoreData P gina 27 Interactive Debugger A defini o da vari vel obedece ao mesmo esquema definido para a instru o print define i smallint let i 25 display hello world at i l end main hello 4gl main i 1 break main 4 11 491 i scope function main run iStopped in main at line 4 in module hello 4gl i print i ihello 4gl main i 25 i let i 23 i print i ihello 4gl main i continue Este exemplo mostra como uma vari vel que tem um valor indesej vel os crans geralmente s t m 24 linhas pode ser alterada por forma a se poder continuar a examinar o programa sem ser confrontado com um erro fatal 8 3 Dump Mostra o conte do das vari veis Se tivermos um grande conjunto de vari veis n o se torna pr tico executar comandos print para cada vari vel o que se poderia tornar muito extenso Para automatizar esta tarefa utiliza se o comando dump De seguida descreve se gen ricamente a utiliza o deste comando DUMP GLOBALS ALL gt
14. o n mero de linhas que aparecem na linha de source e COMMAND LINES Mostra quantas linhas aparecem na janela de comando TIMEDELAY SOURCE Define a pausa entre passos de execu o quando sourcetrace est ligado TIMEDELAY COMMAND Define a pausa entre cada linha de comando que mostrado na linha de comando MoreData P gina 31 Interactive Debugger e APPLICATION DEVICE Mostra caso exista o nome terminal especificado para mostrar a aplica o Para alterar estes dados utiliza se o comando TURN GROW etc 9 3 Where Apresenta a pilha de fun es e respectivos argumentos de execu o Quando se analisa um programa muitas vezes necessitamos saber quais as fun es activas em determinado momento e quais os argumentos com que foram executados Com a instru o where apresentada essa informa o e este pode ainda ser apresentado para dentro de um ficheiro utilizando o redireccionamento WHERE gt gt nome ficheiro Esta instru o ainda v lida se o programa abortar com um erro fatal Esta capacidade muito importante uma vez que permite saber as fun es activas caminho de execu o na altura em que o programa deu erro N o pode utilizar esta instru o se n o estiver nenhum programa ou fun o activa 10 Paragens de Programas 10 1 Pontos de Paragem Uma das caracter sticas fundamentais de qualquer debugger o ponto de paragem Um ponto de paragem um ponto espec fico do pro
15. posteriormente se poder examinar display HELLO WORLD end main exp 4gl main MoreData P gina 14 Interactive Debugger O comando dup all mostra o conte do de todas as vari veis Numa aplica o de m dio porte muito natural que as vari veis n o apare am no cran tornando se pois dif cil de examinar Para facilitar a busca e posterior an lise enviou se o output para dentro de um ficheiro que posteriormente poder ser examinado com um qualquer editor de texto por ex o vi 4 3 Application device O exame a determinados programas pode tornar se confuso principalmente se f r necess rio o exame dos crans O informix ID foi dotado de uma instru o que permite utilizar o cran do seu terminal para as janelas de debugg e comando e utilizar outro cran para o resultado da aplica o sua sintaxe a seguinte APPLICATION DEVICE nome do device O nome do device dever incluir o pathname completa do device p ex dev tty01 Para tornar mais r pido poder n o digitar a palavra DEVICE Para utilizar em sucesso esta capacidade dever obedecer s seguintes regras e tipo de terminal dever ser igual receber as mesmas sequ ncias de comando e Dever ter entrado no sistema operativo com o mesmo programa nos dois terminais Supondo que tinha dois terminais vt100 em cima da secret ria e pretendia utilizar um para visualizar o resultado do programa e a outra para dar comandos
16. programa Para comutar entre a janela de aplica o e janela de debbug utiliza se tecla CTRL T Esta janela poder ser f cilmente colocada noutro terminal para visualiza o simult nea da janela de debug da aplica o Para tal utiliza se o comando Application Device 3 3 Janela de Help Nesta janela ser o mostrados crans de ajuda com texto explicativo do comando acerca do qual se tem d vidas Para aceder a esta janela digita se o comando help cuja sintaxe a seguinte HELP comand IALL MoreData P gina 7 Interactive Debugger Desta forma possivel aceder a uma ajuda referente apenas a um comando digitando o nome espec fico do comando a todas op o ALL ou aparecendo um menu que permite escolher o comando de que se pretende obter ajuda 3 4 Janela de Comando Nesta janela poder o ser dados ao debugger comandos para an lise dos programas Tal como no shell o comando ap s ser digitado termina com lt enter gt O comando grow permite controlar o tamanho das janelas debugg A sua sintaxe a seguinte GROW SOURCE COMMAND N MERO O n mero passado como argumento o n de linhas que a janela de source vai mudar Se pretender a janela de source e aumentar a do comando dever executar o grow com um n mero negativo Quando executa o comando grow sem op es o debugger escreve que se est a mudar a janela de source consequentemente assume a op o SOURCE Se em vez de utili
17. vari vel simples e um record uma fun o de data ou data tempo umarray uma express o aritm tica uma string entre aspas S poder inspeccionar vari veis globais ou vari veis locais fun o que est activa no momento em que faz o print A visualiza o do conte do da vari vel s poder ser feita depois de ter sido feito um call ou run define pr discos record like discos select into pr discos from discos where discos numero 1 display DISCO 1 pr discos nome end main discos 4gl main Sbreak 9 1 break main 9 4 4411 i scope function main run iStopped in main at line 9 in module discos 4gl i MoreData P gina 26 Interactive Debugger define pr discos record like discos select into pr discos from discos where discos numero 1 display DISCO 1 pr discos nome end main discos 4gl main iStopped in main at line 9 in module discos 4gl print pr discos idiscos 4gl main pr discos record i numero 1 1 i nome Plays Live H autor Peter Gabriel 7 record Conforme se v nas janelas foi pedido print da vari vel pr discos do tipo record Quando aparece o seu conte do mais uma s rie de informa o especificada nome do m dulo nome da fun o tipo da vari vel 8 2 Let Atribui o resultado de uma express o a uma vari vel Tal como na pr pria linguagem 4GL a instru o
18. Manual de utiliza o de 4GL Interactive Debugger Interactive Debugger O MoreData 1995 T tulo Programa o Informix 4GL Autor S rgio Ferreira MoreData P gina 2 Interactive Debugger TIN PRODU O DS 5 2 EXECU O DO INTERACTIVE DEBBUGER 21 1 20444 40 1 0 4 04 4 0 504 0480 0000040220 5 2 1 5 EE Ert ie 5 2 2 LINHA DE 5 3 JANELAS DO ID 6 2 7 3 2 JANELA a apa 7 222 JANELADE 22 Io Gu SS 7 242 8 3 5 JANELA DO PROGRAMA 0004010 9 26 COMANDO VIEW a on cartada 10 3 USE E 4 FACILIDADES 2 2 4 5555 8 13 AALIS ES 13 4 2 DIRECCIONAMENTO D
19. O OUTPUT gt gt 244 202 4001 06 00000 00000000000000000000000050 14 4 3 sas as USE ie E a a 15 AA PR NA aaa Condo Lodo 16 WHERE E dedo Sd da did Qu Da SD a ca di SD a 17 5 EXECUTAR COMANDOS DO 5 551 54 18 6 EXECU O DE UM PROGRAMA OU FUN O 19 GISCALE ss a E ed o acentuadas ese SS 19 ar als E 19 63 CLEANDUP a Pa de lodo o edad eba AOS 20 MODOS DE EXECU O isa id 21 1 EXECU O PASSOA PASSO 21 7 25 EXECU O CONTINUA 22 E 22 24 Did CONTINUE cas sda dis dead 25 8 MANUSEAMENTO DE 0 4 26 O E 26
20. Se desejar executar passo a passo a partir do nicio dever meter um ponto de paragem no nicio da fun o main BREAK MAIN Para executar passo a passo o programa dever digitar o comando step ou o seu alias f2 Na janela do source a instru o que ser executada de seguida apresentada assinalada com reverse feldb exp display HELLO WORLD display HERE GO end main break 2 1 break main 2 4411 scope function main run 4 iStopped in main at line 2 module 4951 pontos de paragem ou breakpoints MoreData P gina 21 Interactive Debugger Conforme se pode ver o programa parou a execu o na linha 2 do programa fonte deixando a marcada com reverse Este facto significa que a pr xima linha a ser executada ser esta display HELLO WORLD display HERE GO end main exp 4gl main i 16338 Cannot continue execution Quando foi digitado o comando step a instru o display HELLO WORLD foi executada o display seguinte foi marcado para execu o 7 2 Execu o continua Neste modo o programa ou fun o executada segundo a ordem definida n o mostrando onde se encontra apenas executando as instru es Se n o meteu pontos de paragem tem a op o autototggle ligada e n o carregar em interrupt a execu o do programa faz se tal como se estivesse a executar o programa normalmente Para parar o programa em de
21. al do ficheiro Se n o incluir o ficheiro ser limpo e come ando a escrever do nicio O nome do ficheiro poder ou n o ser definido com a extens o 4db no entanto ficar sempre guardado com a respectiva extens o Se n o especificar o nome do ficheiro onde pretende guardar os par metros uma vez que opcional estas ser o escritas num ficheiro com o nome do programa que estamos a examinar substituindo a sua extens o por 4db 12 1 2 Read L comandos de um ficheiro de texto Pode se escrever uma s rie de comandos do debugger num ficheiro de texto Se forem comandos de configura o basta utilizar o comando write Se forem outros comandos utiliza se um qualquer editor de texto Para ler do ficheiro executar estes comandos utiliza se o comando read cuja sintaxe de seguida se descreve READ nome do ficheiro 4db O nome do ficheiro tem obrigat riamente de ser especificado sendo opcional a discrimina o da extens o 4db Se esta n o f r especificada autom ticamente assumida O ficheiro a ler poder ainda ter um comando read no entanto n o poder passar um m ximo de 10 n veis de read s MoreData P gina 41 Interactive Debugger 13 Casos concretos de an lise 13 1 Analisar erros fatais Este um caso tipico de exame que deve ser feito a um programa uma vez que acontece com relativa frequ ncia e f cil de reproduzir Os passos t picos a efectuar uma sess o de debug s o
22. ante o programador o pretenda 2 Quando executado ID apresenta a janela de debug com as respectivas duas sub janelas apresentado na janela de comandos a prompt que indica que se est espera de comandos As janelas existentes s o as seguintes Janela de debug janela de help janela de aplica o Para comutar entre as diferentes janelas existem comandos especificos no ID A figura que de seguida se apresenta tenta de uma forma gr fica identificar as janelas e respectivos comandos de comuta o MoreData P gina 6 Interactive Debugger lt cti T gt Janela 4 de lt Ctrl T gt Source Ne 225 ms lt Interrupt gt Janela ou View lt qualquer tecla gt se definido lt ctrl T gt da lt interrupt gt Aplica o Janela Janela dJa lt R gt resume gt lt ctl T gt Ajuda C J N Comando J 3 1 Janela de debugg Esta janela por sua vez encontra se dividida em duas sub janelas janela do source de programa e janela de comandos Janela de source Nesta sub janela identificado o m dulo que estamos a visualizar e o respectivo programa Esta janela est na parte superior do cran Janela de comandos Nesta janela s o visualizados os comandos digitados e o seu resultado Est localizado na parte inferior do cran 3 2 Janela da aplica o Esta janela do tamanho do cran tem o resultado da execu o do
23. avra BREAK 10 2 1 Defini o do ponto espec fico O ponto de paragem diz em geral sempre refer ncia a uma linha espec fica de um m dulo espec fico do programa a examinar Pode se especificar este ponto atrav s da sua defini o exacta m dulo e linha utilizando modulo n de linha O ponto de paragem pode tamb m ser definido atrav s do ponto em que o conte do de vari veis f r alterada utilizando a seguinte sintaxe BREAK vari vel MoreData P gina 34 Interactive Debugger Pode se ainda definir um breakpoint atrav s do nome da sua fun o Se tal acontecer a execu o do programa ser interrompida assim que se entrar na fun o referida A sua sintaxe reduzida BREAK fun o 10 2 2 Paragem Simples Incondicional Este tipo de paragem muito utilizada sempre que se pretenda parar num ponto espec fico e conhecido do programa para depois analisar o ambiente com os outros comandos A sua sintaxe reduzida BREAK nome break defini o ponto Nesta paragem o programa para a sua execu o assim que passar naquele ponto independentemente de quaisquer valores de vari veis A defini o ponto tal como j foi explicado poder ser M dulo n linha Se n o especificar o m dulo ser assumido o corrente Vari vel P ra quando a vari vel especificada f r alterada Fun o P ra assim que o programa entrar na fun o especificada 10 3 Paragem Condicional Muitas v
24. e Debugger e Tenho de ir almo ar e quero guardar os meus brakpoints tracepoints e aliases e Um array foi utilizado fora da sua dimens o MoreData P gina 43 Interactive Debugger Gloss rio Argumento Op o que se passa a comandos fun es ou programas que lhes permitem variar a forma de execu o Redireccionamento Mandar o output de um comando na direc o de um ficheiro Breakpoint Ponto de paragem da aplica o Tracepoint Ponto onde ser tracejado que o programa l passou e eventualmente alterou uma vari vel MoreData P gina 44 f2 22 43 alias 13 Application device 16 autototggle 24 BREAK 22 34 breakpoint 34 bug 3 call 20 cleanup 21 comandos 5 Continue 26 control B 9 control D 9 control F 9 control J 9 control K 9 control U 9 debugg 5 delete 24 Direccionamento 15 DISABLE 35 enable 35 feldb 3 FUNCTION 31 FUNCTIONS 40 GLOBAL 31 grow 7 IF 36 interrupt 27 into 26 Janela 5 Janela da aplica o 6 Janela de comandos 5 Janela de Help 6 MoreData NDICE REMISSIVO Interactive Debugger P gina 45 Janela de source 5 LIST 38 list 32 main 9 MODULE 31 38 nome record 31 NOTRACE 42 print 27 quit 27 r4gl 3 read 43 run 21 24 shell 3 sinais 27 source 5 step 22 25 timedelay 24 TRACE 38 use 11 VARIABLE 30 vari veis 27 view 9 write 42 MoreData
25. enviando os respectivos par metros a seguir instru o run A sintaxe do comando run a seguinte RUN par metro 1 main 2 define frase char 30 3 let frase arg_val frase 4 display frase 5 end main 6 Digitando control T fica se posicionado na janela da aplica o onde ir aparecer HELLO WORLD 6 3 CLEANUP Limpeza de ambiente Se estiver a meio de uma execu o do programa ou fun o poder o existir janelas ou forms abertas e eventualmente vari veis inicializadas com determinados valores Para limpar este ambiente e rep r essas condi es iniciais de execu o do programa utiliza se a instru o cleanup ac o de limpar A j nossa conhecida sintaxe gen rica representada da seguinte forma CLEANUP ALL A execu o do cleanup s por si limpa todas as janelas forms e vari veis A base de dados continua aberta Se especificar a op o ALL a base de dados corrente ser tamb m encerrada MoreData P gina 20 Interactive Debugger Exemplo cleanup cleanup all 7 Modos de execu o No ID ao contr rio da execu o normal um programa pode ser executado de v rias formas execu o continua execu o instru o a instru o execu o cont nua com visualiza o da instru o corrente 7 1 Execu o passo a passo Pode executar o programa ou fun o instru o a instru o apenas a partir de uma interrup o no programa
26. essitamos saber quais as fun es activas em determinado momento e quais os argumentos com que foram executados Com a instru o where apresentado esse stock de execu o Utilizando o redirecionamento poder enviar para dentro de um ficheiro WHERE gt gt nome ficheiro Esta instru o ainda v lida se o programa abortar com um erro fatal Esta capacidade muito importante uma vez que permite saber as fun es activas caminho de execu o na altura em que o programa deu erro N o pode utilizar esta instru o se n o existir nenhum programa ou fun o activa 5 Executar comandos do S O Tal como na maioria dos utilit rios informix tamb m aqui possivel executar o shell ou outros comandos Esta ac o ser feita utilizando o caracter escrevendo de seguida o comando pretendido Exemplo Se pretender executar o shell por forma a ficar c a prompt do shell sem sair da sua sess o de debug dever fazer tsh 15 control DEFER INTERRUPT OPEN FORM cust form FROM customer DISPLAY FORM cust form LET chosen FALSE customer 4gl main customer customer customer customer customer customer stores dbs syspgm4g1 dbs tmp 4db Press RETURN to continue MoreData P gina 18 Interactive Debugger 6 Execu o de um programa ou fun o O comando no ID que permite a execu o do programa o comando run Se o pretender poder tamb m executa
27. ezes durante uma sess o de exame a um programa s se pretende parar a execu o caso determinada situa o ocorra por exemplo determinada vari vel conter um valor negativo Para detectar estes casos utiliza se a paragem condicional que n o mais que dizer ao debugger para parar se determinada situa o ocorrer sua sintaxe gen rica BREAK identifica o break IF condi es A identifica o break representa todos os par metros que nos permitem definir um breakpoint disable nome ponto de paragem ou poder n o ser nenhum deles uma vez que podemos querer parar se determinada situa o ocorrer independentemente do ponto onde nos encontrarmos MoreData P gina 35 Interactive Debugger A condi o explicitada a seguir ao IF mais n o que uma condi o normal em informix 4GL onde poder o ser utilizadas vari veis desde que activas constantes etc A defini o destas vari veis poder ser feita de acordo com o definido para o comando print 10 4 Paragem com execu o de comandos Para executar determinados comandos imediatamente a seguir a uma paragem p ex o print situa oque ocorre muitas vezes poder utilizar a capacidade do comando break que o permite fazer A sua sintaxe reduzida ser BREAK identifica o break IF condi o comandos comandos Conforme pode ser verificado poder meter v rios comandos desde que separados por As chavetas s o obrigat rias
28. fer ncia que sequ ncial por ordem de estabelecimento de breakpoint Nesta marca o entram tamb m os tracepoints MoreData P gina 33 Interactive Debugger Enable e disable de breakpoints Enable Activar Embora definido por vezes n o se pretende que o ponto de paragem esteja ainda activo por forma a conseguir simular a situa o pretendida A ac o de activar um breakpoint feita com o comando enable cuja sintaxe de seguida se descreve ENABLE nome n mero de refe ncia ALL Conforme se pode observar pode se activar breakpoints pelo seu n mero de refer ncia ou pelo seu nome Pode ainda activar todos os breakpoints inactivos O nome a especificar poder ser um dos seguintes e nome do breakpoint se este estiver entre aspas e nome do breakpoint ou fun o se este n o estiver entre aspas Disable desactivar Um breakpoint pode ser desactivado Esta ac o n o remove o breakpoint apenas o adormece at que seja novamente activado Quando a execu o do programa passa por uma zona onde haja um breakpoint desactivado a sua execu o obviamente que n o p ra sua sintaxe a seguinte DISABLE nome n mero de refer ncia ALL Tal como no enable pode refer nciar um breakpoint espec fico por nome ou n mero de refer ncia ou todos utilizando a palavra ALL Um breakpoint pode ser criado j desactivado se quando o criar especificar a op o imediatamente a seguir pal
29. grama onde se define que o programa deve parar a execu o mediante ou n o determinadas condi es e devolver o controlo para a janela de comando O informix ID particularmente completo nesta caracter stica MoreData P gina 32 Interactive Debugger 10 2 BREAK Para estabelecer um ponto de paragem utiliza se o comando BREAK este comando tem uma sintaxe complexa uma vez que permite uma grande diversidade de especifica o de paragens nomeadamente e Por fun o e Por linha de m dulo e Condicional ao conte do de vari veis e Execu o de comandos ap s paragem e Parar fim de uma quantidade fixa de passagens por esse ponto A sintaxe do BREAK BREAK fun o nome break point contador m dulo no de linha vari vel fun o condi o comandos comandos Tal como pode verificar a sua sintaxe de facto complicada Por forma a explicar mais f cilmente este comando vamos dividir por tipos breakpoints mostrando a sintaxe envolvida e dando um m ximo de exemplos Antes de passarmos a explica es e casos espec ficos vamos esclarecer algumas defini es Nome do breakpoint A um breakpoint pode ser dado opcionalmente um nome espec fico Este n o dever ser referenciado entre aspas e ser por ele que um breakpoint passar ser conhecido N mero de refer ncia de um breakpoint Al m do nome um breakpoint pode ser referenciado pelo seu n mero de re
30. icionais um dos maiores custos do desenvolvimento centra se na correc o dos erros dos programas desenvolvidos e ou a desenvolver Existem b sicamente dois tipos de erros Erros de sintaxe ou sem ntica em que os programas est o escritos de uma forma errada ou t m sequ ncia de instru es incorrectas e os erros de funcionamento run time que n o inibem a compila o dos programas mas que provocam um funcionamento errado destes A estes ltimos costume chamar bug Existem utilit rios que permitem a monitoriza o do funcionamento dos programas permitindo um conjunto de ac es sobre a execu o dos programas A este utilit rio chama se debbuger tamb m chamado depurador em brasileiro A INFORMIX para a sua principal linguagem procedimental Informix 4GL desenvolveu um debugger ao qual chamou informix interactive debugger Este programa funciona apenas com a vers o RDS do informix 4GL e trabalha em terminais em modo caracter e mais recentemente tamb m em windows 2 Execu o do Interactive Debbuger Tal como em outros produtos Informix possivel executar o utilit rio atrav s de menus ou de linha de comando do Unix ou Dos 2 1 0p o debug do r4gl Uma das formas de execu o atrav s da op o Debug do menu Programa ou Debug do Informix 4GL RDS comando r4gl Neste caso o programa a ser corrigido o que foi escolhido por um cran de escolha muito usual no Informix 2 2 Linha de c
31. inte forma TRACE fun o pretendida vari vel gt gt nome ficheiro 11 4 Tracepoints executando comandos Tal como nos breakpoints tamb m aqui poder executar determinados comandos quando passar num ponto de tracejamento TRACE defini o do tracepoint comandos gt gt nome ficheiro Os comandos tamb m aqui podem ser um conjunto desde que separados por ponto e virgula e desde que n o sejam nenhum dos seguintes CALL CONTINUE STEP RUN chavetas servem para delimitar o in cio e fim dos comandos a executar 11 5 Activa o de tracepoints MoreData P gina 39 Interactive Debugger Para activar um tracepoint utiliza se o comando enable Uma vez que os breakpoints e tracepoints s o identificados de uma forma univoca isto n o existem breakpoints e tracepoints com uma refer ncia e nomes iguais o comando enable serve para as duas coisas bviamente que para activar um tracepoint este deve existir e estar desabilitado ENABLE nome n refer ncia fun o IALL 11 6 Desactiva o de tracepoints Um tracepoint pode ser desactivado utilizando o comando DISABLE tal como nos breakpoints ou criando o tracepoint j desactivado utilizando o caracter DISABLE nome n refer ncia fun o ALL 11 7 Remo o de tracepoints A remo o de um ponto de tracejamento feito com o comando NOTRACE A sintaxe gen rica a seguinte NOTRACE nome n refer ncia fun
32. mostrados as declara es das vari veis locais fun o correcta A especifica o do nome da vari vel serve para visualizar apenas a declara o de uma vari vel esse nome dever referenciar uma vari vel global ou referente fun o activa no momento Poder no entanto complementar o nome da vari vel com um qualificador de posi o Esses qualificadores poder o ser GLOBAL vari veis globais em todos os m dulos MODULE nome m dulo vari vel global de determinado m dulo FUNCTION nome fun o Vari vel local a uma fun o nome record nomerecord Vari vel pertencente a um record Aproveitando o exemplo do cap tulo anterior vamos tentar ver qual o tipo da vari vel frase e ainda de algumas globais pr definidas define frase char 50 let frase arg 1 1 display frase end main hello 4gl main variable frase thello 4gl main frase type CHAR 50 i variable global status iglobal status type INTEGER variable function main frase i function main frase type CHAR 50 i variable sqlca sqlerrd iglobal sqlca sqlerrd type ARRAY 6 of INTEGER Neste exemplo aproveitou se para verificar os tipos de um conjunto de vari veis algumas locais outras globais pr definidas Optou se no entanto por efectuar esta tarefa utilizando sintaxes alternativas 9 Outras Visualiza es 9 1 Functions MoreData P gina 30 Interactive Debugger O comando functions serve para ver as fu
33. mp i De acordo com o exemplo apresentado quando se executar o ID o nosso caminho de procura dos source s a directoria corrente conforme especificado current search path Uma vez adicionada uma nova directoria tmp s o apresentadas no cran duas directorias de busca dos sources a analisar tmp Exemplo 2 display HELLO WORLD end main exp 4gl main iCurrent search path i use tmp iCurrent search path tmp MoreData P gina 12 Interactive Debugger Neste exemplo antes de executarmos o ID movemos o nosso source para a directoria anterior Uma vez executado o ID informa nos imediatamente que n o consegue encontrar o programa Quando mudamos o search path tamb m para a directoria corrente o source j encontrado 4 Facilidades Operativas 4 1 Aliases Por forma a aumentar a produtividade foram criadas algumas facilidades de opera o De entre outras destaca se o alias Um alias tal como o seu nome indica uma forma de dar um nome alternativo a um comando Desta forma um comando muito comprido que consequentemente muito moroso na sua escrita pode ser redefinido com um nome pequeno de f cil e r pida digita o Exemplo alias prc print pr autom vel caixa 1 20 pre pr autom vel caixa 1 20 fechada Conforme pode ser verificada depois de feito o alias bastou digitar o alias para executar o comando pretendido Esta facilidade se
34. n es existentes no programa ou para verificar se existe uma ou v rias com o nome definido de determinada forma sua sintaxe gen rica FUNCTION pattern gt gt nome ficheiro Onde pattern poder ser um conjunto de caracteres que simbolizem o nome da fun o Nesta string poder utilizar meta caracteres 9 2 List Mostra breakpoints tracepoints e configura es do cran Para listar os pontos de paragem pontos de tracejamento e configura oda interac o dos crans utiliza se o comando list Este comando poder ter tr s argumentos todos opcionais Se nenhum deles f r explicitado ser apresentado a informa o como se tivesse digitado os tr s argumentos A sua sintaxe LIST BREAK TRACE DISPLAY Os par metros break e trace dizem respeito respectivamenteaos breakpoints e tracepoints Estes s o criados atrav s dos comandos break e trace A op o display diz respeito configura o do cran sua interac o e respectivas janelas Os par metros que s o mostrados s o os seguintes e AUTOTOGGLE Define se h ou n o mudan a autom tica entre o cran da aplica o do output DISPLAY 5 5 Define se deve meter em reverse a pr pria lista a executar quando debugger p ra EXIT SOURCE Especifica a forma como se passa de janela de source para janela de comando e PRINTDELAY Atraso para mostrar uma linha ou v rias linhas de uma vez e SOURCE LINES Mostra
35. ntr rio o debugger entrar dentro da fun o executando por sua vez cada passo deste Nobreak utiliza se para fazer com que o debugger n o p re nos breakpoints definidos por onde passe display HELLO WORLD display HERE display VENI VIDI VICI end main MoreData P gina 24 Interactive Debugger i exp 4gl main 16352 File exp 4gl has been modified 4gl is newer than break main i 1 break in function main exp 4gl i scope function main run iStopped in main at line 2 in module 491 iISstep 2 iStopped in main at line 4 in module 491 Assumindo que os 2 primeiros comandos j teriam sido executados depois do run o programa ficaria parado antes de executar a instru o dsiplay HELLO WORLD Como se deu a ordem de executar um passso de duas instru es step 2 o programa ficou parado na instru o da linha 4 7 5 Continue Continua a execu o depois de uma paragem e permite enviar sinais aplica o Quando paramos a execu o do progrma atrav s de carregar em del ou atrav s de um breakpoint podemos continu la em execu o cont nua atrav s do comando continue sua sintaxe gen rica 6 CONTINUE INTERRUPT QUIT As duas op es CONTINUE E QUIT servem para permitir o envio dos sinais Interrupt e Quit aplica o Esta capacidade torna se necess rio pois o debugger apanha os sinais devolvendo o comando janela de comando No e
36. omando Para fazer debug depurar um programa atrav s da linha de comando do shell dever executar o comando fgldb cujo sintaxe a seguinte feldb v I pathname pathname f initfile namedgi MoreData P gina 5 Interactive Debugger O programa 4gi ser o execut vel a ser analisado As outras op es t m o seguinte significado Serve para mostrar apenas a vers o do debbuger que estamos a utilizar I pathname Serve para dizer ao debbuger onde dever para al m da direct ria corrente ir procurar os programas fonte do 4GL F nome ficheiro Serve para dizer ao debbuger que pretendemos utilizar um ficheiro de configura o alternativo ao standard do informix 3 Janelas do ID O interactive debugger como o seu nome indica interactivo isto permite uma interac o com o utilizador Neste produto a interac o feita atrav s de janelas com posicionamentos directos do cursor tentando utilizar todas as caracter sticas dos terminais de caracteres Tendo em aten o estas limita es de ambiente a tarefa do debbuging coloca nos o seguinte problema nossa aplica o programa a examinar trabalha num cran e recebe comandos de um teclado utilit rio de debbuging tem de nos mostrar resultados e receber comandos de um teclado Para resolver estes problemas virtualizaram se simularam se janelas nos terminais permitindo uma f cil comuta o e configura o conso
37. r apenas uma fun o espec fica Para tal utiliza se o comando call 6 1 CALL Execu o de fun o isolada Muito frequentemente a an lise dever ser apenas a uma fun o espec fica N o pr tica a execu o de todo o programa metendo pontos de paragem para chegar zona onde executada a fun o a examinar Para executar apenas a fun o utiliza se o comando call A sua sintaxe id ntica da instru o call na sua linguagem 461 CALL nome fun o par metro 1 Quando a execu o da fun o terminar se esta retomar valores o utilizador ser informado dos valores retornados na janela de comando define ans smallint call funcl returning ans end main function funcl return 1 end function 1 2 3 4 5 6 7 8 exp 491 1 5 11 funcl iReturn 1 from funcl at line 7 iProgram exited funcl at line 7 in module exp 4gl 1 Se pretender executar a fun o v rias vezes seguidas a fun o inicializar janelas ou instru es sem as fun es dever utilizar a instru o cleanup para efectuar uma limpeza 6 2 RUN Execu o do programa MoreData P gina 19 Interactive Debugger O comando run inicia a execu o do programa que se est a examinar Se o programa interactuar com o cran e a op o autotoggle se encontrar ligada o ID ir comutar o cran para a janela do programa Se o programa tiver par metros a sua execu o faz se
38. rma o de tracejamento Fun o Mete um ponto de tracejamento na fun o cujo nome se especifica FUNCTIONS passa a existir um tracepoint no nicio de cada fun o Tal como nos breakpoints um tracepoint pode ser criado sem estar activo utilizando para tal o caracter a seguir ao comando trace A um tracepoint sempre atribu do um n mero sequ ncial de refer ncia Este n mero sequ ncial nos break s e trace s fazendo com que n o haja um breakpoint e tracepoint com o mesmo n mero de refer ncia De seguida vai se tentar dar uma retrospectiva dos tipos de tracepoints mais utilizados MoreData P gina 38 Interactive Debugger 11 1 Tracepoint a passagem por fun o Neste tipo de tracepoint apenas se identifica o tracepoint relativamente fun o A sua sintaxe reduzida TRACE FUN O gt gt nome do ficheiro 11 2 Tracepoint e altera o de vari vel Tal como no caso anterior basta identificar a fun o qual se pretende fazer breakpoint TRACE nome vari vel gt gt nome ficheiro O nome da vari vel obedece sintaxe utilizado no IF dos breakpoints e no print Isto 11 3 Tracejamento de vari vel apenas numa fun o Poder querer apenas ver a altera o que determinada vari vel sofra mas apenas dentro de uma vari vel Para tal dever especificar o nome da fun o entre par ntesis sua sintaxe poder ser descrita da segu
39. rrisca se a remover um breakpoint de uma fun o n refer ncia o seu n mero sequ ncial de cria o fun o n o pode p r entre aspas basta digitar o nome da fun o Mais uma vez se repete que o nobreak remove definitavamente um breakpoint enquanto que o disable apenas o desactiva 10 7 Listar breakpoints Se pretender ver a defini o dos breakpoints pode utilizar o comando list com a op o break A sua sintaxe a seguinte LIST BREAK 11 Tracejamento O tracejamento serve para que o debugger assinale quando passa em determinado parte do programa ou quando determinada vari vel alterada e para que valor Se n o for especificada qualquer redireccionamento o resultado ser enviado para a janela de comando Se pretender analisar posteriormente o resultado poder enviar o resultado para um ficheiro sua sintaxe gen rica a seguinte TRACE fun o nome m dulo remova de linha vari vel fun o FUNCTIONS comandos gt gt nome de ficheiro O funcionamento desta capacidade muito id ntica aos breakpoints relativamente defini o do ponto de paragem podendo ser MoreData P gina 37 Interactive Debugger m dulo n mero de linha Mostra a linha especificada do m dulo especificado se n o especificar o m dulo p ra no m dulo corrente vari vel Sempre que o conte do da vari vel cujo nome se espec fica f r alterado enviada a info
40. terminada altura dever carregar em delete Quando o fizer o comando ser imediatamente passado ao debugger e apresentada a janela de comando Para executar neste modo utilizam se os comandos run ou call 7 3 Timedelay Alterar tempos de paragem entre execu es MoreData P gina 22 Interactive Debugger Se continuarmos a executar o programa com tracejamento de source continuamente sem step poderemos querer definir um maior ou menos tempo de paragem no levar para cada paragem Esta configura o pode tamb m ser definida para o envio das linhas resultantes de um comando para a janela do comando por exemplo um print sintaxe a seguinte TIMEDELAY SOURCE COMMAND Se nenhum argumento source ou command f r especificado ou timedelay ir incidir sobre a janela de source Quando especificar o par metro comand esta ter incid ncia sobre o resultado dos comandos O n mero colocado no fim das instru es sendo obrigat ria define ao n mero de segundos que o programa mete de atraso Se este comando n o f r especificado estes par metros est o definidos a um Pode definir o par metro a O ou a qualquer n mero positivo Para verificar o valor deste comando utiliza se o comando list Exemplo Timedelay source 2 Espera dois segundos entre cada instru o executada Timedelay source 0 O programa n o p ra tempo nenhum entre cada instru o do programa executada Timedelay comand 2
41. xemplo que se segue o programa foi configurado por forma a utilizar o interrupt para abortar forms e outras ac es activando a vari vel int flag Por forma a activar efectivamente esta vari vel temos que executar a instru o continue interrupt define pr discos record like discos defer interrupt open window w discos at 4 6 with form disco input by name pr discos if int flag then error Inser ao abortada end if end main discos 4gl main iStopped in main at line 7 in module discos 4gl i continue interrupt iProgram aborted in main at line 7 in module discos 4gl MoreData P gina 25 Interactive Debugger Na altura em que foi dado a instru o continue interrupt o programa continuou a sua execu o tendo a vari vel int flag activada o que faz com que fosse dada a mensagem no cran _ INSER O ABORTADA em reverse 8 Manuseamento de vari veis Para analisar um programa torna se essencial a visualiza o do conte do das vari veis O ID tem v rias formas de efectuar esta tarefa para diferentes casos 8 1 Print O comando print envia para o cran ou coloca num ficheiro o resultado de uma express o sua sintaxe gen rica 6 PRINT express o gt gt nome ficheiro Conforme se pode verificar o redireccionamento opcional caso n o o indique o resultado ser enviado para a janela de controle express o poder ser a defini o de uma das seguintes entidades e
42. zar n meros negativos pretender fazer crescer a janela de comando deve especificara op o COMMAND Tendo a seguinte janela usual quando se executao ID vamos agora diminuir a janela de source display HELLO WORLD end main exp 4gl main MoreData P gina 8 Interactive Debugger ISgrow 7 i list display i TERMINAL DISPLAY STATE rautotoggle on idisplaystops on isourcetrace off texitsource on iprintdelay off itimedelay source 1 itimedelay command 0 isource lines 2 command lines 17 18 De notar que este comando tamb m poderia ser digitado da seguinte forma grow command 7 An logamente tamb m se poderia diminuir a janela de comando com um dos seguintes comandos grow 7 grow source 7 grow comand 7 Obtendo se display HELLO WORLD exp 4gl main 3 5 Janela do Programa Fonte Na janela de source quando se entra no debugger aparece o m dulo onde est a fun o main do nosso programa Para passar da janela de comando para a janela de source utiliza se o comando view MoreData P gina 9 Interactive Debugger Na janela de source poder dar v rios comandos por forma a permitir a localiza o e posicionamneto do c digo fonte pretendido lt control J gt Move o cursor uma linha para baixo lt control K gt Move o cursor uma linha para cima lt control B gt Move o cursor uma janela para cima lt control F gt Move o cursor uma janela para baixo lt control

Download Pdf Manuals

image

Related Search

Related Contents

Samsung 320PX Kullanıcı Klavuzu  Home Decorators Collection 10793478622474 Installation Guide  Getting started with your Expert System  Samsung Forno Gourmet Vapour Cook NV73J9770RS User Manual  Realtime System Administration  Manual de instrucciones PROMAX  "user manual"  EXCELYS - Winncare  KitchenAid KXW9736YSS Use and Care Manual  Crème dessert HP La Floridine  

Copyright © All rights reserved.
Failed to retrieve file