Byteman: Tudo o que você queriasaber mas não sabia a quemperguntarRicardo Martinelli
O problem a● Encontrar problemas que só ocorrem emprodução (isso nunca acontece, né?)● Fazer debug de problemas que não sã...
A solução (ou quem pode ajudar achegar lá)
Formas de utilização● -javaagent● scripts shell● Teste Unitário
Template de regra# rule skeletonRULE <rule name>CLASS <class name>METHOD <method name>BIND <bindings>IF <condition>DO <act...
Pontos de interceptaçãoAT ENTRYAT EXITAT LINE numberAT READ [type .] field [count | ALL ]AT READ $var-or-idx [count | ALL ...
E se eu quiser interceptar classes dojava?
Antes, uma pequena aula...● jre/lib● jre/lib/ext● aplicação
Classloading● jre/lib <-- Boot Classloader● jre/lib/ext <-- Extension Classloader● aplicação <-- System Classloader
Demo
Links● http://jboss.org/byteman● https://community.jboss.org/wiki/ABytemanTutorial● http://en.wikipedia.org/wiki/Java_Clas...
Dúvidas?https://community.jboss.org/groups/jbug-brasil
Próximos SlideShares
Carregando em…5
×

Byteman: Tudo o que queria saber mas não sabia a quem perguntar

957 visualizações

Publicada em

Apresentação feita na primeira reunião do JBUG:Brasil sobre Byteman, uma ferramente de manipulação de Bytecode Java muito útil para realizar diagnóstico de problemas.

Publicada em: Tecnologia
3 comentários
0 gostaram
Estatísticas
Notas
  • Sim, eu já tinha visto.
    O link da postagem que eu comentei -> http://wp.me/p2wxch-eu
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Olá Josué,

    Você já viu meu blog? Ele é dedicado a Cloud Computing e OpenShift em português.

    http://aprendendo-cloud-computing.blogspot.com.br/
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Ola ricardo, boa tarde.

    Neste mês escrevi um passo a passo (primeiros passos)sobre a plataforma openshift e gostaria da sua opinião.

    Outras coisa, se você tiver alguns matérias em português da openshift gostaria que se possível você compartilha-se comigo.

    Desde já grato.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
957
No SlideShare
0
A partir de incorporações
0
Número de incorporações
513
Ações
Compartilhamentos
0
Downloads
0
Comentários
3
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Byteman: Tudo o que queria saber mas não sabia a quem perguntar

  1. 1. Byteman: Tudo o que você queriasaber mas não sabia a quemperguntarRicardo Martinelli
  2. 2. O problem a● Encontrar problemas que só ocorrem emprodução (isso nunca acontece, né?)● Fazer debug de problemas que não sãovisíveis a olho nu● Criar testes de concorrência (detecção deRacing Condition)
  3. 3. A solução (ou quem pode ajudar achegar lá)
  4. 4. Formas de utilização● -javaagent● scripts shell● Teste Unitário
  5. 5. Template de regra# rule skeletonRULE <rule name>CLASS <class name>METHOD <method name>BIND <bindings>IF <condition>DO <actions>ENDRULE
  6. 6. Pontos de interceptaçãoAT ENTRYAT EXITAT LINE numberAT READ [type .] field [count | ALL ]AT READ $var-or-idx [count | ALL ]AFTER READ [ type .] field [count | ALL ]AFTER READ $var-or-idx [count | ALL ]AT WRITE [ type .] field [count | ALL ]AT WRITE $var-or-idx [count | ALL ]AFTER WRITE [ type .] field [count | ALL ]AFTER WRITE $var-or-idx [count | ALL ]AT INVOKE [ type .] method [ ( argtypes ) ] [count | ALL ]AFTER INVOKE [ type .] method [ ( argtypes ) ][count | ALL ]AT SYNCHRONIZE [count | ALL ]AFTER SYNCHRONIZE [count | ALL ]AT THROW [count | ALL ]
  7. 7. E se eu quiser interceptar classes dojava?
  8. 8. Antes, uma pequena aula...● jre/lib● jre/lib/ext● aplicação
  9. 9. Classloading● jre/lib <-- Boot Classloader● jre/lib/ext <-- Extension Classloader● aplicação <-- System Classloader
  10. 10. Demo
  11. 11. Links● http://jboss.org/byteman● https://community.jboss.org/wiki/ABytemanTutorial● http://en.wikipedia.org/wiki/Java_Classloader
  12. 12. Dúvidas?https://community.jboss.org/groups/jbug-brasil

×