Ich weiß nicht, so dass Sie eine CircularReferenceException werfen könnten?Hat jemand jemals AOP verwendet, um eine Zirkelreferenz zu erkennen?
0
A
Antwort
1
Sie könnten wahrscheinlich cflow verwenden, um jede in diesem Aufruf verwendete Methode zu markieren, und dann die aufgerufenen Methoden in einer statischen Liste im Aspekt speichern, um festzustellen, ob Sie die gleiche Methode erneut aufgerufen haben und je nachdem, wie oft Sie anrufen Sie könnten Ihre Ausnahme auslösen.
Ich habe nie versucht, dies zu tun, und das ist nur eine Vermutung, aber es sollte funktionieren.
http://www.eclipse.org/aspectj/doc/released/progguide/language-joinPoints.html
Ich meine, ich denke, man die Anzahl der Male eine Funktion aufgerufen wurde zählen konnte und sehen, ob es unendlich richtig zu sein scheint? Oder vielleicht Zeit, wie lange die Funktion ausgeführt wurde? Tut Firefox etwas ähnliches nicht, wenn ein Skript nicht mehr reagiert? – leeand00