Ich erstelle eine MethodEntryRequest
, und ich möchte diese Anfrage nur Methoden von zwei Klassenmuster für ex anwenden: - "java.*"
und "sun.*"
. Dafür hatte ich folgenden Code geschrieben.JDI wenden Klassenfilter für mehrere Klassen an
MethodEntryRequest menr = mgr.createMethodEntryRequest();
menr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
menr.addClassFilter("java.*|sun.*");
Das Problem mit dem obigen Code ist es deaktiviert alle Methoden Ereignisse. Aber wenn ich nur eine Klassenmustermethode anwende, funktioniert es gut. Ich habe versucht, "|"
mit "\\\\|"
zu entkommen, aber es hat nicht funktioniert. Also möchte ich wissen, wie man Klassenfilter für mehr als ein Klassenmuster anwendet?
Ihre Antwort hat nicht funktioniert. Ich habe nicht verstanden, was du mit Beispielen und Akzeptablen meintest. – rainyday
Ich versuchte "(Java). *" Anstelle von "Java. *" Und fand heraus, beide sind nicht gleich '()' verursacht ein Problem – rainyday
Hoppla! Wie dokumentiert: _Reguläre Ausdrücke sind auf exakte Übereinstimmungen und Muster beschränkt, die mit "*" beginnen oder mit "*" enden; zum Beispiel, '" * .Foo "' oder '" java. * "' ._ –