[XCREATOR]-Depuração de Código (DEBUG)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[XCREATOR]-Depuração de Código (DEBUG)

Mensagem por vinians em Qui 29 Abr 2010, 16:42

Depuração de Código

Nome Depuração de Código
Plataforma Geral
Descricao Tutorial sobre como usar o depurador do GM.
NivelIniciante

Quando criamos programas de computador, sejam eles jogos ou aplicativos quaisquer, sempre somos atacados por bugs de todo tipo. Por mais que nos esforcemos, os bugs sempre estão presentes. Quando escrevemos algum comando errado, o próprio GM nos avisa,  basta corrigir e pronto.

Mais e quando o jogo "funciona" mas age estranhamente de forma teoricamente não programada por nós? Isso geralmente é um BUG de lógica que são os mais difícies de descobrir. Mais então,  como descobrir Bugs?? Ainda mais quando são projetos grandes e complicados??
Bem, o GM vem com um depurador que poucos utilizam/conhecem. Veja:



Esta é a barra de ferramentas do GM o botão Play circulado de amarelo é o que executa o jogo em Debug Mode ou seja no modo de depuração.

Ao clicar nesse botão, o seu jogo vai começar a rodar normalmente, mais será apresentada uma janelinha de depuração veja:



Essa é a janela de depuração. Vamos ver oque significa cada menu? Vamos la!



Menu RUN

RUNExecuta o jogo pausado pela opção Pause.
PAUSEPausa a execução do jogo
STEPDepois de Pausar o jogo, você pode usar essa opção para executá-lo passo a passo. Muito útil quando usando em conjunto com os watches conforme veremos depois.
RESTART Reinicia o Jogo
STOP Termina e volta pro GM

Das funções deste menu, a mais interessante no meu ponto de vista, é a STEPpois permite que possamos executar passo a passo o programa e ir verificando as variáveis de algum objeto conforme elas forem mudando.



WATCHES

Os Watches são como espiões que você coloca no depurador pra mostrar o valor de alguma propriedade/variável.  Observe as opções do menu Wathes:

Se você tiver dúvida sobre o valor de alguma variável, é nesse menu que você poderá adicionar um espião que vai observa-la o tempo todo. Veja o significado de cada opção:

ADDAdiciona um novo Watch, por exemplo: teste.x
CHANGE Edita um Watch.
DELETE Exclui um Watch
CLEAR Exclui TODOS os Watches
LOAD Carrega uma lista de Watches previamente salva
SAVE Salva todos os Watches


Vamos falar um pouco mais sobre como funciona isso. Muitas vezes eu já vi aqui no fórum peguntas sobre a variavel image_index, ou seja a cada STEP o GM adiciona o conteudo da variavel image_speed na variavel image_index. Supondo que temos um char chamado objInimigo e gostariamos de "espionar" a variavel image_index dele. Muito facil! Basta clicar em Watch e depois no + e digitar "objInimigo.image_index" na caixa de texto. Veja:



Depois apertamos o botão de PAUSA e em seguida podemos ir apertando o botao STEP e observar o valor da variável mudando a cada passo. Isso ajuda muito pode ter certeza.



TOOLS

Por último temos o botão TOOL. Aqui temos diversas ferramentas importantes, para mostrar todas as variáveis GLOBAIS definidas, mudar a velocidade do jogo, mostrar todas as instâncias criadas etc. Vejamos:

EXECUTE CODEExecuta um código em GML diretamente
SET SPEEDMuda a velocidade da ROOM
SHOW GLOBAL VARIABLES Mostra todas as variáveis Globais do GM e as que voce definiu.
SHOW LOCAL VARIABLESMostra todas as Variáveis locais. Nesse caso será pedido uma instância da qual será mostrada as variaveis.
SHOW INSTANCESMostra todas as instâncias toda room
SHOW MESSAGESMostra as mensagens enviadas pela função show_debug_message(str)


Como você pode observar temos muitas opções de depuração no GM não tem porque ficarmos sofrendo com bugs não é mesmo???

Um abraço a todos!




Última edição por vinians em Ter 22 Mar 2011, 09:47, editado 3 vez(es)

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por balflear em Qui 29 Abr 2010, 16:48

nossa muito bom tuto , nem sabia que gm tinha essa funçao, legal agora todo jogo que eu fizer vou usar ela .

balflear

Número de Mensagens : 88
Data de inscrição : 17/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por Cainã em Qui 29 Abr 2010, 16:53

Muito bom o tutorial, eu ja usava o Debug mas é muito útil para quem ainda não conhece este recurso.

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por Convidad em Sex 30 Abr 2010, 00:37

Sensacional amigão! Aqui no fórum ainda não tínhamos um tutorial sobre isso! Boa iniciativa!

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por vinians em Sex 30 Abr 2010, 00:44

balflear escreveu:nossa muito bom tuto , nem sabia que gm tinha essa funçao, legal agora todo jogo que eu fizer vou usar ela .

Cainã escreveu:Muito bom o tutorial, eu ja usava o Debug mas é muito útil para quem ainda não conhece este recurso.

Capitão Comando escreveu:Sensacional amigão! Aqui no fórum ainda não tínhamos um tutorial sobre isso! Boa iniciativa!
Valeu companheiro!
Pois é, eu que o diga, ja fui salvo muitas vezes por "debugs" hehhe não digo do GM mais geralmente em C com os seus ponteiros hheeheh

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por diassis em Sex 30 Abr 2010, 01:09

Falow Vinians, muito bem, o debug é realmente útil quando queremos verificar o andamento do jogo: Ex.: queremos verificar se uma instancia continua existindo depois que ela some da room, o debug mostra se ela realmente sumiu ou não, etc.
Usar o debug deveria ser uma regra para fazer jogos!!!!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por Henrique_GJ em Sex 30 Abr 2010, 08:05

muito bom o tuto

uma vez eu vi esse botão e cliquei e achei que fosse uma besteira qualquer mas acho que vai ajudar a concertar uns bugs num jogo meu

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [XCREATOR]-Depuração de Código (DEBUG)

Mensagem por Conteúdo patrocinado Hoje à(s) 00:55


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum