Ver la pila de llamadas para un método particular

¿Es posible ver la lista completa de la pila de llamadas para un método dado en mi aplicación usando alguna herramienta?

Quiero ver el resultado similar que puedo ver en JProfiler para un método dado.

Sin embargo, estoy buscando alguna alternativa de código abierto / libre y sin tener que hacer demasiada configuración de configuración.

Respuesta 1

No estoy seguro, pero tal vez estás buscando algo como este método

class MyInfo{
    static void showStack(){
        try{
            throw new Exception();
        }catch(Exception e){
            StackTraceElement[] ste=e.getStackTrace();
            for(int i=1; i<ste.length;i++){
                System.out.println(ste[i].getClassName()+"."+ste[i].getMethodName());
            }
        }
    }
}

Vamos a intentarlo

class C1 {
    void methodA() {MyInfo.showStack();}
    void methodB() {methodA();}
}

class C2 {
    static void methodX() {
        C1 c1 = new C1();
        c1.methodB();
    };
    //TEST
    public static void main(String[] args) {
        C2.methodX();
    }
}

fuera

C1.methodA
C1.methodB
C2.methodX
C2.main
Respuesta: 2

JConsole, que viene con el jdk tiene una pestaña de subprocesos, que enumera todos los subprocesos en ejecución. Cuando selecciona uno, mostrará el rastro. Puede conectarse a un proceso local sin ninguna configuración. Si es remoto, debe habilitar el conector remoto como una opción de inicio. La captura de pantalla es de jdk 1.7. JConsole

Respuesta: 3

Tengo muchos lugares en mi código donde tengo un método que es idéntico a otro, excepto que los objetos que usan son diferentes, como en el siguiente ejemplo: private void applyContractualFields () {...

Al intentar implementar una aplicación springboot en un tomcat externo, no puedo implementarlo. En el pom.xml, si excluyo la dependencia de tomcat, entonces no estoy enfrentando un error de tiempo de compilación. Desde que he usado ...

Tengo un método que intento llamar dinámicamente. Ese método tiene un argumento 'stringValue'. El método que estoy tratando de invocar es en la clase padre (receptores ??). No puedo entender cómo llegar ...

Estoy intentando que la autenticación SSL bidireccional funcione para un cliente de servicio web JAX-WS en Google App Engine. Estoy relativamente seguro de que puedo configurar la clave privada del cliente enviando a un BindingProvider ...