Thursday, July 22, 2004

Biztalk 2004 - Debug

Fazer debug de orquestrações Biztalk pode ser uma tarefa morosa (tal como o deployment, mas isso é outra estória). Aqui ficam algumas dicas:

 

1) Usar o Health & Activity Tracking. É a recomendação #1. Apesar de ser uma ferramenta algo lenta, mostra praticamente tudo o que aconteceu no sistema. O problema é que  por vezes nem sempre tudo fica registado. Já tive situações em que se geram excepções (que aparecem no HAT), mas todo o path de invocação das compensações respectivo não ficam registadas. Também pode ser usado para fazer colocar breakpoints nas Shapes.

 

2) Se se puder desenvolver localmente, fazer build&deploy, Attach ao processo Biztalk (BTSNTSvc) no VS.Net, colocar breakpoints no código de componentes .Net que tenhamos desenvolvido, e desencadear o processo normalmente. Cuidado quando se faz Start a outras orquestrações, ou ao desencadear mais de um fluxo de teste em cada momento, porque o VS.Net fica... bom, histérico será uma palavra apropriada? :-)

 

E depois existem os métodos à antiga:

 

1) "À antiga": escrever para um ficheiro. Quando preciso de recorrer a isto, uso a seguinte forma:

 

StreamWriter sw = File.AppendText(@"c:\filename.txt");

sw.WriteLine(....); sw.Flush();

....

 

sw.Close();

 

(importante não esquecer os flush...)

 

2) Usar o DebugView da SysInternals, colocando chamadas a:

 

System.Diagnostics.Debug.WriteLine(...);

 

Isto é muito mais conveniente que a solução anterior, e pode ser facilmente usado dentro das Expression Shapes, mas pode nem sempre ser possível usar ferramentas "alheias" (ainda que gratuitas).

 

jota

No comments:

Post a Comment