Página 2 de 2

Como usar o debugador ?

Enviado: 28 Jul 2011 16:28
por porter
Se é dessa forma, entao deu certo, agora como faco para executar o sistema pelo debugador ?

pelo clipper eu fazia:

cld /s hellobr

valeu, obrigado.

Como usar o debugador ?

Enviado: 28 Jul 2011 17:47
por alxsts
Olá!

É só executar o teu programa.

Se em algum ponto dele você colocou alguma chamada para AltD(), ele vai abrir o debugger automáticamente.

Se não colocou, você poderá ativá-lo quando o teu programa estiver em estado de espera como em gets, Alert(), MemoEdit(), TBrowse(), etc... Por exemplo: se estiver no READ de um conjunto de gets , tecle Alt + D. Na hora que finalizar a leitura do get corrente, a tela do debugger aparecerá.

Pequeno Guia se sobrevivência:
As teclas mais usadas no debugger são:
F1 - Ajuda
F5 - Roda o programa até o fim ou até o próximo Trace Point ou Watch Point ou Break Point ativo
F8 - Executa uma linha de código
F9 - Marca um ponto de parada Break Point (sempre abre o debugger naquela linha do programa)
F10 - Executa uma procedure ou function sem entrar na mesma, ou uma linha de código (igual a F8) se a linha não for uma chamada a uma procedure ou function.

A tela do debugger é dividida em algumas janelas:

- janela principal, onde aparece o código fonte.

- janela Command na parte inferior da tela: aqui você poderá digitar comandos:
- ? ou ?? <nome-de-variavel> exibe o conteúdo de uma variável
- ? ou ?? <expressão> exibe o resultado de <expressão> Ex: ? Transform( Date(), "@E" ), ? 2^3, ? MinhaFuncao()
- ? Memoedit( cString ) ou ? Alert( cString )
- QUIT

- janela Watch na parte superior da tela onde aparecem os Trace Points e Watch Points ativos
- você pode inserir esses Trace Points e Watch Points ativos através do menu Point ou da janela de comando como:
- TP Alias() == "CLIENTE" - abre a janela do debugger sempre que o alias cliente estiver ativo
- WP cVar - exibe o conteúdo de cVar na janela Watch
- TP nVar <> 0 - abre a janela do debugger sempre que a variável nVar for maior que zero

- janela Call Stack na lateral esquerda da tela onde aparece a pilha de chamadas onde você pode navegar com as setas.

Para alternar entre janelas, utilize as teclas TAB ou Shift + TAB
. Consulte a ajuda (F1) para mais informações.

Como usar o debugador ?

Enviado: 28 Jul 2011 18:30
por porter
Consegui debugar amigo, que luta, esse guia de que vc passou eu os imprimi, aparentemente o debugador é igual ao debugador do clipper, vou estuda-lo para compreender melhor.

Valeu,
Obrigado.

Como usar o debugador ?

Enviado: 28 Jul 2011 19:26
por alxsts
Olá!

Parabéns! Fiquei contente. Vamos esperar para ver se o Jairo conseguiu.
porter escreveu:aparentemente o debugador é igual ao debugador do clipper
É uma cópia. Pelo menos na versão que eu tenho, algumas funcionalidades do debugger do Clipper ainda não foram implementadas.

No meu post anterior, faltou escrever:
- para ativar a Janela Call Stack, vá no menu View e selecione Call Stack ou use as teclas Alt + V + C. O mesmo vale para desativar.

Editado:
Diferentemente do que escrevi, a Janela Call Stack fica localizada no lado direito da tela.

Como usar o debugador ?

Enviado: 29 Jul 2011 09:49
por porter
Olá Alxsts,
No clipper, se digitar por exemplo, cld /s hellobr, é executado o debugador meia tela e a outra metade da tela, vai mostrando o sistema sendo executado, tem como fazer isso ?

Valeu, obrigado.

Como usar o debugador ?

Enviado: 29 Jul 2011 10:03
por Jairo Maia
Olá Colegas,
alxsts escreveu:Vamos esperar para ver se o Jairo conseguiu.
Sim, consegui Alexandre. Valeu.

Quando vi sua mensagem, então entendi pq não estava entendendo, e ai decidi ir pro fight.
Ao invés de baixar a versão que vc indicou e entender o help do HBMAKE, resolvi tentar primeiro entender o help do xbuild, já que ele é que estou usando, e não havia feito isso antes.

Então, lendo o help do XBUILD e também da função AltD() no manual de referência, consegui habilitar o debug.
Primeiro, habilita no prg colocando AltD(), como vc já havia dito, depois compila com o seguinte comando:

Código: Selecionar todos

xbuild projeto.exe.xbp -B -All
Pronto! Simples, Simples. Mais fácil que oferecer doce a criança.

Pois é... Tudo é fácil depois que entende. Do momento que li seu post, até chegar nisso, levei um caminhão de mensagem de erros, além de tentaivas frustradas. Cheguei em determinado momento até receber a mensagem que o programa não era um programa 32 bits válido (o .exe tinha tamanho 0), etc..
Só para entender que deveria usar o paramêtro -All devo ter levado uns 40 minutos. Mas é assim mesmo. Depois de algumas horas ficou claro.

Algumas coisas ainda não entendo, mas não tem implicação agora. Por exemplo:

Código: Selecionar todos

xbuild projeto.exe.xbp -Debug -B -Classic -All
-Debug = ativa a linha: LDEBUG = .T.
-B = ativa a linha: LPRG_DEBUG = .T. - Esta é a mãe da criança.
-Classic = ativa a linha: LPRG_CLASSICDEBUG = .T.

Também pelo manual de referência, explica o seguinte sobre AltD(), e realmente funciona como está lá:
AltD() = ativa o debug em modo Classic, e provoca a parada na linha seguinte.
AltD(1) = ativa o debug, não provoca parada, somente ativa o debug com ALT + D.
AltD(0) = desativa o debug.

Pelo manual, diz que necessariamente a ativação deve ser com AltD(1), e se quero parada, em seguida devo usar AltD(). Mas se usar somente AltD(), ativa, pára, e continua no modo de debug. Importante é que dá certo.

Alexandre, obrigado por sua paciência, e sempre prestativa atenção, mesmo que seja prá dar um ALERTA, que as vezes é isso mesmo que falta. Valeu! Um Grande Abraço. :-Y

Como usar o debugador ?

Enviado: 29 Jul 2011 11:31
por alxsts
Olá!

Parabéns pela iniciativa e persistência Jairo.

Creio que o tópico ficou bastante abrangente e responde à pergunta que lhe dá título.

Só faltou esclarecer a funcionalidade daquele -Debug. Mas o objetivo, que era conseguir "debugar", foi alcançado.

Como usar o debugador ?

Enviado: 29 Jul 2011 13:24
por porter
Olá Jairo, parabens por sua persistencia e obrigado por ter postado o resultado de sua pesquisa, ela vai servir para muitos colegas que estao iniciando no xHarbour. Gostaria de saber como vc acessou a documentacao do xbuild pois quero ver se tem como debugar o sistema com meia tela mostrando o debugador e outra metade da tela mostrando a execucao do sistema como é feito no clipper com o comando CLD /S HELLOBR e tambem porque com o HBMAKE esta dando erro na compilacao quando quero gerar NSX.

Mais uma vez, obrigado.

Como usar o debugador ?

Enviado: 29 Jul 2011 13:34
por Jairo Maia
Olá Alexandre,

Verdade. Mas inconscientemente, achei que era igual ao HBMAKE, por isso não coloquei o significado de -All. Eu estava antes usando o parâmetro -Link, que força apenas a relinkagem do executável. Demorou pra perceber que deveria fazer uma compilação geral, e o parâmetro -All, recria todos os arquivos necessários ao projeto, como p.ex. xbuild.windows.ini com as informações atualizadas para linkar o executável. A partir dai ficou mais fácil entender cada comando.

Como usar o debugador ?

Enviado: 29 Jul 2011 13:46
por porter
Olá Jairo, como faço para ter acesso ao manual de referencia, quero dar uma olhada no Help do xBuild, na instalacao do xHarbour vem com essa documentaçäo ?

obrigado.

Como usar o debugador ?

Enviado: 29 Jul 2011 14:08
por Jairo Maia
Olá Porter,
porter escreveu:Gostaria de saber como vc acessou a documentacao do xbuild
Foi o help com as opções de compilação. Para acessar o help do xBuild, basta digitar xBuild -help no prompt de comando.
porter escreveu:tambem porque com o HBMAKE esta dando erro na compilacao quando quero gerar NSX.
Abra outro tópico para esta dúvida. Ela foge do assunto deste.

Na opção do colega Leonardo, aquele que vc baixou tem. Vá na pasta xHarbour/doc/xharbour que tem o xHarbour's Language Reference Guide