@@ -0,0 +1,852 @@
+package org.test;%0A%0Aimport org.aspectj.weaver.loadtime.Agent;%0A%0Apublic class InstrumentationAgentMainThread extends Thread %7B%0A%0A%09private boolean broken = true;%0A%0A%09@SuppressWarnings(%22rawtypes%22)%0A%09public void run() %7B%0A%09%09while (broken) %7B%0A%09%09%09try %7B%0A%09%09%09%09Thread.sleep(10000);%0A%09%09%09%09System.out.println(%22111broken:%22 + broken);%0A%0A%09%09%09%09if (Agent.getInstrumentation() != null) %7B%0A%09%09%09%09%09Class%5B%5D clazzes = Agent.getInstrumentation().getAllLoadedClasses();%0A%0A%09%09%09%09%09int index = 1;%0A%09%09%09%09%09for (Class class1 : clazzes) %7B%0A%09%09%09%09%09%09System.out.println(%22Loaded Classes(%22 + (index++) + %22)  %22 + class1.getName());%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%0A%09%09%09%7D catch (Exception e) %7B%0A%09%09%09%09e.printStackTrace();%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%0A%09public void setBroken(boolean broken) %7B%0A%09%09this.broken = broken;%0A%09%7D%0A%0A%09public static void main(String%5B%5D args) %7B%0A%09%09InstrumentationAgentMainThread t = new InstrumentationAgentMainThread();%0A%09%09t.start();%0A%09%7D%0A%7D%0A

Create InstrumentationAgentMainThread.java