Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[XCREATOR]-Depuração de Código (DEBUG)
5 participantes
Página 1 de 1
[XCREATOR]-Depuração de Código (DEBUG)
Depuração de Código
Nome | Depuração de Código |
Plataforma | Geral |
Descricao | Tutorial sobre como usar o depurador do GM. |
Nivel | Iniciante |
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
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:
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:
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!
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
RUN | Executa o jogo pausado pela opção Pause. |
PAUSE | Pausa a execução do jogo |
STEP | Depois 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:
ADD | Adiciona 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 CODE | Executa um código em GML diretamente |
SET SPEED | Muda a velocidade da ROOM |
SHOW GLOBAL VARIABLES | Mostra todas as variáveis Globais do GM e as que voce definiu. |
SHOW LOCAL VARIABLES | Mostra todas as Variáveis locais. Nesse caso será pedido uma instância da qual será mostrada as variaveis. |
SHOW INSTANCES | Mostra todas as instâncias toda room |
SHOW MESSAGES | Mostra 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)
Re: [XCREATOR]-Depuração de Código (DEBUG)
nossa muito bom tuto , nem sabia que gm tinha essa funçao, legal agora todo jogo que eu fizer vou usar ela .
balflear- Data de inscrição : 17/04/2009
Reputação : 0
Número de Mensagens : 88
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [XCREATOR]-Depuração de Código (DEBUG)
Muito bom o tutorial, eu ja usava o Debug mas é muito útil para quem ainda não conhece este recurso.
Re: [XCREATOR]-Depuração de Código (DEBUG)
Sensacional amigão! Aqui no fórum ainda não tínhamos um tutorial sobre isso! Boa iniciativa!
Convidad- Convidado
Re: [XCREATOR]-Depuração de Código (DEBUG)
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.
Valeu companheiro!Capitão Comando escreveu:Sensacional amigão! Aqui no fórum ainda não tínhamos um tutorial sobre isso! Boa iniciativa!
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
Re: [XCREATOR]-Depuração de Código (DEBUG)
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!!!!
Usar o debug deveria ser uma regra para fazer jogos!!!!
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: [XCREATOR]-Depuração de Código (DEBUG)
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
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
Tópicos semelhantes
» GMSDK 2.0 Debug 7
» Arrays no Debug
» Dúvida com Debug
» ajuda na avaliação de debug
» debug mode no gmStudio
» Arrays no Debug
» Dúvida com Debug
» ajuda na avaliação de debug
» debug mode no gmStudio
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos