Ist es in Eclipse möglich, einen Satz von Haltepunkten zu definieren und erst nach einem bestimmten Ereignis abzufeuern?

  • Ich möchte eine Reihe von Haltepunkten in ein paar engen Schleifen festlegen. Ich möchte nur, dass sie nach einem bestimmten Ereignis ausgelöst werden.

    Das Problem liegt in der Tatsache, dass alle diese Haltepunkte in einem Modul mit sehr niedrigem Level definiert sind, sodass sie nicht wissen können, wann dieses High-Level-Ereignis ausgelöst wird.

    Es wäre perfekt, wenn ich im High-Level-Code einen speziellen bedingten Haltepunkt setzen könnte, so dass nach dem Erreichen dieser Haltepunktbedingung ab diesem Moment der Zündvorgang ausgelöst würde alle anderen im Programm gefundenen Haltepunkte (ich interessiere mich nicht besonders für diesen Haltepunkt auf hoher Ebene).

    Gibt es eine Möglichkeit, so etwas zu erreichen? Wenn nicht, wie kann diese Einschränkung umgangen werden? Die einzige Möglichkeit, die mir einfällt, wäre das Definieren eines temporären Singleton, um den Status beizubehalten und meine Haltepunkte niedriger Stufe von der Flagge dieses Singletons abhängig zu machen.

    22 November 2011
    devoured elysium
3 answers
  • Wenn Sie mit der rechten Maustaste auf breakpoint properties klicken, werden viele Optionen angezeigt.

    Ist es in Eclipse möglich, einen Satz von Haltepunkten zu definieren und erst nach einem bestimmten Ereignis abzufeuern?

    22 November 2011
    Prashant Bhate
  • Sie können Assertions auf kreative Weise verwenden, sie sind jedoch standardmäßig in Eclipse deaktiviert.

    Hier ist ein guter Link, der erklärt, wie man Assertions aktiviert: http://www.cis.upenn.edu/~matuszek/cit594-2004/Pages/eclipse-faq.html#assert

    Hier finden Sie weitere Informationen zur Verwendung für Ihre Zwecke: http://eclipse.dzone.com/articles/using-java-assertions-use

    Aus dem Artikel:

    Eclipse hat einen sehr nützlichen Mechanismus, um Ausnahmen zu unterbinden. Es handelt sich um eine andere Art von Haltepunkten, die ausgelöst wird, wenn die Ausnahme ausgelöst wird, unabhängig davon, wie (und ob) sie abgefangen wird. Wenn Sie - Assertions verwenden, empfehle ich dringend, beim Debuggen Ihres Codes einen Haltepunkt für Assertionsfehler festzulegen.

    22 November 2011
    Code Magician
  • Sie stellen hier verschiedene Fragen.

    Als Antwort auf "F: kann ich einen Haltepunkt festlegen, der ausgelöst wird, wenn ein Ereignis eintritt", sollten Sie sich "Beobachtungspunkte" ansehen:

    http://www.vogella.de/articles/EclipseDebugging/article .html

    In demselben Artikel wird eine mögliche Antwort auf eine andere Ihrer Fragen beschrieben: "F: ... wenn diese Haltepunktbedingung erfüllt ist, würde dies von diesem Moment an geschehen fangen Sie an, andere Haltepunkte abzufeuern ... "

    Suchen Sie in demselben Artikel nach" Haltepunkteigenschaften ".

    'Hoffnung das hilft!

    PS: Hier ist noch ein kurzer, aber sehr guter Artikel:

    http://www.ibm.com/developerworks/library/os-ecbug/

    22 November 2011
    paulsm4