Hallo,
ich habe ein minimales Programm, dass ein Shape erzeugt und dann renderet. Eigentlich laeuft alles in einem einzigen Thread ab. Nun wuerde ich gerne aufzeichnen welche Methoden in welcher Reihenfolge aufgerufen werden.
Sollte eigentlich sehr einfach sein.
Ich habe jetzt den Sourceforge JIP profiler und https://github.com/jbachorik/btrace getestet. Das funktioniert aber in manchen Faellen, bei anderen Minimalprogrammen gibt es Fehler und die Reihenfolge der Methodenaufrufe wird nicht aufgezeichnet. Es handelt sich um obskure VerifyErrors und dergleichen welche auf die Veraenderung des Bytecodes durch den Profiler entstehen. Ein grosses Manko hat der Profiler auch wenn es klappt: native Methodenaufrufe werden nicht aufgezeichnet (ist scheinbar ein Problem wie die Bytecode-Instrumentalisierung aufgesetzt wird und einfach eine Limitierung wo auch der Profiler-Programmierer nichts machen kann).
- Koennt ihr mir einen Weg empfehlen wie ich doch die Reihenfolge der Methoden bekomme?
- In vielen Faellen sollte die Reihenfolge der Methoden doch deterministisch sein und durch Bytecodeanalyse anstatt Laufzeitanalyse erhaeltlich sein, oder?
- ein Thread zeichnet in seinem Stacktrace alle Methoden auf die er besucht. Koennte ich die Thread-Klasse irgendwie aufbohren, damit der Thread sich ALLE besuchten Methoden merkt und ich an diese Informationen irgendwie rankomme?
ich habe ein minimales Programm, dass ein Shape erzeugt und dann renderet. Eigentlich laeuft alles in einem einzigen Thread ab. Nun wuerde ich gerne aufzeichnen welche Methoden in welcher Reihenfolge aufgerufen werden.
Sollte eigentlich sehr einfach sein.
Ich habe jetzt den Sourceforge JIP profiler und https://github.com/jbachorik/btrace getestet. Das funktioniert aber in manchen Faellen, bei anderen Minimalprogrammen gibt es Fehler und die Reihenfolge der Methodenaufrufe wird nicht aufgezeichnet. Es handelt sich um obskure VerifyErrors und dergleichen welche auf die Veraenderung des Bytecodes durch den Profiler entstehen. Ein grosses Manko hat der Profiler auch wenn es klappt: native Methodenaufrufe werden nicht aufgezeichnet (ist scheinbar ein Problem wie die Bytecode-Instrumentalisierung aufgesetzt wird und einfach eine Limitierung wo auch der Profiler-Programmierer nichts machen kann).
- Koennt ihr mir einen Weg empfehlen wie ich doch die Reihenfolge der Methoden bekomme?
- In vielen Faellen sollte die Reihenfolge der Methoden doch deterministisch sein und durch Bytecodeanalyse anstatt Laufzeitanalyse erhaeltlich sein, oder?
- ein Thread zeichnet in seinem Stacktrace alle Methoden auf die er besucht. Koennte ich die Thread-Klasse irgendwie aufbohren, damit der Thread sich ALLE besuchten Methoden merkt und ich an diese Informationen irgendwie rankomme?