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] 
-------------------------------------------------------------------------

Responder a