Si desea que el rastreo de sólo el hilo actual (en lugar de todos los hilos en el sistema, como lo hace la sugerencia de Ram), hacer:
Thread.currentThread(). getStackTrace()
Para encontrar la persona que llama, hacer:
private String getCallingMethodName() {
StackTraceElement callingFrame = Thread.currentThread().getStackTrace()[4];
return callingFrame.getMethodName();
}
y llamar a ese método desde dentro del método que necesita saber quién es su interlocutor. Sin embargo, una palabra de advertencia: ¡el índice del marco de llamada dentro de la lista podría variar de acuerdo con la JVM! Todo depende de cuántas capas de llamadas hay dentro de getStackTrace antes de llegar al punto donde se genera la traza. Una solución más robusta sería obtener la traza e iterar sobre ella buscando el marco para getCallingMethodName, luego dar dos pasos más hacia arriba para encontrar la verdadera persona que llama.
Es probablemente mejor usar una herramienta de depuración existente. Hay muchos de ellos por ahí, y puede pasar ese tiempo trabajando en el proyecto en lugar de reinventar algo. A menos que te estés divirtiendo escribiendo un depurador, por supuesto. –