2015-08-20 10 views
5

Mam plik abc.jar i ma kilka klas Java w nim. Nie mam kodu źródłowego tego. Chcę uzyskać dzienniki klas/metod, które zostały trafione podczas debugowania. Jak mogę to zrobić?Jak uzyskać logi z pliku .jar?

P.S - Mogłem użyć do tego celu log4j, ale nie mam kodu źródłowego.

+0

Czy wiesz, czy twój plik 'abc.JAR' używa' slf4j'? –

+0

Nie, abc.jar nie używa/implementuje żadnej struktury rejestrowania. –

+0

spróbuj uruchomić swój jar w wierszu poleceń. – VedX

Odpowiedz

2

Podajesz w swoim komentarzu, że wiesz, że nie używa żadnej struktury logowania.

W takim przypadku niemożliwe jest pobranie z niego dzienników.

Jednak można użyć debuggera. Wszystkie IDE mają debuggery. Może to pomóc w określeniu stanu zajęć, które są wywoływane podczas korzystania z nich.

+0

Och, czy tak jest? Westchnienie. –

2

Załóżmy, że masz abc.jar i nie używasz żadnej struktury do logowania, a nie masz kodu źródłowego, o którym wspomniałeś. Nie, nie możesz logować się w ten sposób.

2

Potrzebne są narzędzia do profilowania, takie jak Java's hprof. To dobre wprowadzenie do profilowania. Chociaż nie jest potężny, to dobry początek. Istnieje wiele innych przydatnych narzędzi do profilowania. Po prostu google.

Dla hprof, trybów CPU Usage Sampling Profiles (CPU = próbek)

e.g. javac -J-agentlib:hprof=cpu=samples Hello.java 

i CPU Usage Times profilu (cpu = times)

e.g. javac -J-agentlib:hprof=cpu=times Hello.java 

brzmi jak czego potrzebuje. Mogą ci powiedzieć, co się nazywa i jak często. To, czego nie powiedzą, to stan zmiennych. To właśnie wykorzystuje debugowanie, biorąc pod uwagę, że logowanie nie jest opcją.