Arquivos da categoria : Debug


Compilador X Anti-Vírus

Hoje vi um post que me chamou a atenção ???The fastest compiler taking forever???, o autor conta a história de uma discussão no Delphi-PRAXiS, em que o usuário reclama que o compilador do Delphi é muito lento, e estava levando em torno de 45 minutos para compilar apenas 20.000 linhas, e que após incluir os arquivos .pas, .dfm e .dcu na lista de arquivos a serem ignorados pelo Norton anti-virus na verificação residente, o tempo de compilação caiu para 8 segundos.

Eu resolvi postar sobre este assunto, por que já vi muitas reclamações sobre o tempo de compilação no Delphi, e eu tenho certeza que a maioria é relacionada a problemas de ambiente, pois o Delphi tem um dos melhores tempo de compilação, alguns dos problemas comuns são:

  • Anti-virus residente ??? Solução: adicionar os arquivos utilizados pelo Delphi na lista de ignorados: .dpr, .pas, .dfm, .res, .dcu.
  • Arquivos fontes de projeto e de componentes instalados em pastas de rede ??? Solução: utilizar um gerenciador de fontes como Subversion e manter uma cópia local.
  • Library Path apontando para pasta contendo .pas. Solução: Após instalar componentes, criar uma pasta e copiar os arquivos compilados para esta pasta: .dcu, .dfm, .res, .inc, etc e deixar no Library Path, apenas o caminho para esta pasta. Se precisar debugar estes componentes utilize a opção ???Browsing Path???.

Depurando com TraceTool

Boa parte do tempo de desenvolvimento de uma aplicação é investido na depuração, mas depurar um programa se torna uma tarefa cada vez mais complicada se esta aplicação é dividida em módulos, multi-tier, multi-thread ou ainda plugin ou expert para uma IDE como Delphi ou Visual Studio.

Algumas ferramentas especializadas para auxiliar esta tarefa são:

 

TraceTool é uma ferramenta gratuita escrita em Delphi Win32, um visualizador de log de eventos de diversas fontes. Os eventos são enviados  para o visualizador através de mensagens WM_COPY_DATA da API do Windows (exceto para Java), sockets - ideal para serviços ou aplicações como ASP.Net, ou ainda via HTTP que somente é suportado para JavaScript.

image

6 Frameworks são oficialmente suportados até o momento:

  • Delphi Win32
  • .Net C#
  • Java
  • ActiveX
  • JavaScript
  • C++

 

Uma visão geral da arquitetura do TraceTool

image

 

Exemplo de código em Delphi

uses TraceTool,
...
TTrace.Warning.Send('hello' , 'world') ;

 

Licença

Gratuito para distribuição do Visualizador e a utilização da biblioteca nos seus produtos, comercial ou não. A única restrição é que você não pode vendê-lo, mesmo uma versão modificada.

Publicado pela licença CPL – Common Public License Version 1.0

http://www.opensource.org/licenses/cpl1.0.php

 

Veja mais detalhes do TraceTool no CodeProject, la você vai encontrar download dos fontes e exemplos de código para as outras linguagens.

Em breve escreverei sobre mais técnicas avançadas de utilização do TraceTool e do SmartInspect.