У меня есть нить с этим методом выполнения:Как иметь следы всех выполняемых функций
public void run(){
MAPTable t1 = new MAPTable();
t1.init();
while(true){
try {
t1.refresh();
} catch (UnknownHostException e) {
e.printStackTrace();
}
try {
sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Как я есть я проследить всех функций, выполняемых этой теме, обратите внимание, что Init() в обновление() могут вызывать многие другие функции, основанные на многих внешних условиях.
Я попытался сделать NullPointerException или поместить один из этих строк кода referenced here в середине метода Run(), но я всегда только последний след, который является метод Run() (то же самое строка, которую я использовал для печати трассы).
Thread.currentThread().getStackTrace()
или
for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
System.out.println(ste + "\n");
}
или
Thread.dumpStack()
PS: Я не так хорошо знакомы с отладчиком и я не знаю, если это может быть сделано с ним.
Какая у вас конечная цель? Зачем вам нужен этот след методов, которые были вызваны? – unholysampler
Ну, я хочу, чтобы список всех исполняемых функций был указан только для проверки ithat. OK –
Наивный способ состоял бы в том, чтобы добавить регистрацию в каждую из возможных вызываемых функций, показывая идентификатор потока - не уверен, что есть лучший способ. – assylias