Victor Iron Produções
Seja bem-vindo ao fórum!

Sinta-se a vontade para olhar!

Se registre para melhor aproveitamento Smile

[Include + Plugin] vDebug

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

[Include + Plugin] vDebug

Mensagem por Victor_Iron em Sab Set 15, 2012 10:38 pm

vDebug 0.2

Descrição:

vDebug é um simples sistema que ajuda em caso de crash.




Funcionamento:

Ele registra em um arquivo a última função verificada executada, assim, tornando a tarefa de encontrar o script que causa crash melhor.




Instalação:

1 - Salve como vDebug.inc em sua pasta de includes.
2 - Coloque no topo de seu script "#include "
3 - Coloque o plugin_vDebug.dll na pasta plugins.
4 - Adicione ao server.cfg na linha "plugins" "plugin_vDebug"




Download include:

http://pastebin.com/q93LZRSC - vDebug 0.1
hytp://pastebin.com/2ZyyJxg5 - vDebug 0.2

vDebug.inc
Código:

##if defined ___vDBG_included___
   #error ___vDBG_included___ ja esta definido! usando a include 2 vezes no mesmo script?
#endif

#define ___vDBG_included___

#if !defined _samp_included
   #include a_samp
#endif

#pragma library "plugin_vDebug"

#define CDebug::%0(%1)    forward CDebug_%0(%1); \
                  public CDebug_%0(%1)
                  
#define cDebug->%0(%1)    CDebug_%0(%1)

#define FALSE 0
#define TRUE  1

native plugin_MarcarUltimaFuncao(const funcao[]);
native plugin_LerUltimaFuncao(const str[]);

enum eDebug
{
   DebugUF[64],
}

static vDebug[eDebug];

CDebug::MarcarUltimaFuncao(const vDebug_funcao[])
{
    format(vDebug[DebugUF], 64, "\0");
   
#if defined vDBG_PrintTimeStamps

   static vDebug_hora, vDebug_minuto, vDebug_segundo, vDebug_ano, vDebug_mes, vDebug_dia;

   gettime(vDebug_hora, vDebug_minuto, vDebug_segundo);
   getdate(vDebug_ano, vDebug_mes, vDebug_dia);
   
   format(vDebug[DebugUF], 64, "[%i-%i-%i . %i/%i/%i] %s",
                        vDebug_hora, vDebug_minuto, vDebug_segundo, vDebug_ano,
                        vDebug_mes,   vDebug_dia, vDebug_funcao);
                        
    return plugin_MarcarUltimaFuncao(vDebug[DebugUF]);
#else
   return plugin_MarcarUltimaFuncao(vDebug_funcao);

#endif
}

CDebug::LerUltimaFuncao(const vDebug_str[])
   return plugin_LerUltimaFuncao(vDebug_str);


Exemplo de uso:
Código:

// Exemplo
public OnFilterScriptInit()
{
   cDebug->MarcarUltimaFuncao("OnFilterScriptInit()");
   static vDebug_ReadStr[64];

   cDebug->LerUltimaFuncao(vDebug_ReadStr);

   printf("%s", vDebug_ReadStr);
   return TRUE;
}

Download plugin [windows]:

plugin_vDebug.dll

Source + bin (30.6kb | .rar): http://minus.com/l34In9wqpzhOV
Bin (39.0kb | .dll): http://minus.com/l34In9wqpzhOV




Cangelog:
Código:

0.2 - Include atualizada.
0.2 - Plugin adicionado.




Créditos:
- A mim - plugin e include
- SA:MP Team - plugin SDK
- Kyosaur - tutorial de plugins (http://forum.sa-mp.com/showthread.php?t=295798)




NOTA: Versão em desenvolvimento!
NOTA2: Quaisquer bugs podem postar Smile
NOTA3: Não consigo achar tutoriais para compilar para linux, se souberem de algum por favor indiquem Smile

[Ontem tentei postar mas não lembro se deu certo, depois não achei o post, então provavelmente foi fail]

Victor_Iron
Admin
Admin

Mensagens : 15
Data de inscrição : 24/06/2012
Idade : 20
Localização : Brazil

http://victor-iron-products.forumeiros.com

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