Voce precisa de informacoes sobre a carga e a execucao da classe. Esse problema nao eh lah muito facil de resolver, e voce acha esses problemas quando escreve Debuggers.
Eh impossivel fazer um programa como esses sem alterar o codigo do programa alvo. Isso pode ser visto no proprio javac. Se voce coloca a opcao -g:none, os debuggers param de funcionar (veja que a alteracao do programa nao precisa ser no codigo fonte, nesse caso eh no codigo gerado pelo compilador). Se voce realmente precisa escrever esse programa, e gosta de escovar bits (ou Byte Codes), leia a especificacao da JVM http://java.sun.com/docs/books/vmspec/html/VMSpecTOC.doc.html Eh um bom lugar para comecar. E boa sorte. Se voces tem algum dinheiro para investir em ferramentas, outra opcao eh procurar um programa comercial pronto. Procure os programas de Profiling. Olha o OptimizeIt (www.intuisys.com) e o JProbe (www.sitraka.com) Silvio On Thu, 01 November 2001, [EMAIL PROTECTED] wrote: > > Obrigado, > Mas eu ainda seria mais chato... pois eu não posso literalmente passar parametro >algum, seja para o construtor ou para o método. > A intençaõ é ter um controle (para log) das rotinas chamadas. > Eu não sei se existe algum evento que pode ser capturado quando um método qqr é >invocado, seria +/- isso que eu preciso. > Valeu a força! > > Fernando > > -----Mensagem original----- > De: Eduardo Alex [mailto:[EMAIL PROTECTED]] > Enviada em: Thursday, November 01, 2001 12:09 AM > Para: [EMAIL PROTECTED] > Assunto: Re: [java-list] Descobrir o chamador > > > Ja que vc nao pode passar parametros no getTeste(), voce entao passa a > classe que esta instanciando no construtor da ClasseA > > A classe a ficaria assim. > > class ClasseA { > Object instance; > public ClasseA(Object obj) { > instance=obj; > } > public String getTeste() { > if (obj instanceof ClasseB) { > // faz o q vc quizer, pois so entra aqui se for ClasseB > } > return "testando..."; > } > } > > e a clase b > > class ClasseB { > public void teste() { > ClasseA a = new ClasseA(this); > System.out.println( a.getTeste() ); > } > } > > > espero q tenha ajudado > > > Eduardo Alex > Netra Tecnologia > ----- Original Message ----- > From: <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, October 31, 2001 6:25 PM > Subject: [java-list] Descobrir o chamador > > > > Essa eu me deparei e não tenho idéia de como resolver... e nem de como > começar a resolver. > > Eu preciso gravar a informação, em um determinado método, de qual classe > chamou este método e qual método dessa classe o chamou. > > Ex: > > class ClasseB { > public void teste() { > ClasseA a = new ClasseA(); > System.out.println( a.getTeste() ); > } > } > > sendo, > > class ClasseA { > public String getTeste() { > // AQUI EU PRECISO SABER QUE ESTOU SENDO EXECUTADO POR ClasseB.teste() ! > return "testando..."; > } > } > > Alguem tem idéia de como sair dessa ? > > PS: Eu não posso passar nenhum parametro adicional para getTeste().... > > > Valeu a todos! > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------