@ARadauer: Was haben Anwendungsgebiete mit der Lösung eines Problems zu tun? In solchen Fällen hat der Hilfesuchende mit Sicherheit ein Anwendungsgebiet gefunden, sonst würde er gar nicht fragen oder zumindest die Frage anders formulieren.
Soweit ich weiss läuft ein Java-Debugger immer auf einem TCP-Port (Ok, unter Windows gibt es noch die Möglichkeit mittels Shared Memory). Auf jedenfall aber muss ein Debugprozess mit Parametern in der CL gestartet werden. Ums Abfragen der Startparameter kommt man also nicht drum rum. Aus diesen Abfragen kann man sich aber die Verbindungsdaten des Debuggers herausfischen und mittels
Debugger Kommunikation diesen überwachen (oder abschiessen, so als Art "Schutz vor Debug
). Ich selbst hab' das so noch nicht getestet, aber theorhetisch könnte man in seine App ein eigenes JDI einpflanzen und versuchen mit den ermittelten Daten damit Kontakt aufzunehmen. Gelingt dieser Kontakt nicht, wurde bereits ein Debbugger angehängt.