Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03eb67c2 authored by Andreas Gampe's avatar Andreas Gampe Committed by android-build-merger
Browse files

Merge "Debug: Add attachJvmtiAgent with classloader" am: 940c0341

am: 878abd8e

Change-Id: I862a822ef7600030f7b435fe9b9368961cf4694b
parents 5b3e7889 878abd8e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31036,7 +31036,7 @@ package android.os {
  }
  public final class Debug {
    method public static void attachJvmtiAgent(java.lang.String, java.lang.String) throws java.io.IOException;
    method public static void attachJvmtiAgent(java.lang.String, java.lang.String, java.lang.ClassLoader) throws java.io.IOException;
    method public static deprecated void changeDebugPort(int);
    method public static void dumpHprofData(java.lang.String) throws java.io.IOException;
    method public static boolean dumpService(java.lang.String, java.io.FileDescriptor, java.lang.String[]);
+15 −9
Original line number Diff line number Diff line
@@ -2352,22 +2352,28 @@ public final class Debug
    }

    /**
     * Attach a library as a jvmti agent to the current runtime.
     * Attach a library as a jvmti agent to the current runtime, with the given classloader
     * determining the library search path.
     * <p>
     * Note: agents may only be attached to debuggable apps. Otherwise, this function will
     * throw a SecurityException.
     *
     * @param library library containing the agent
     * @param options options passed to the agent
     * @param library the library containing the agent.
     * @param options the options passed to the agent.
     * @param classLoader the classloader determining the library search path.
     *
     * @throws IOException If the agent could not be attached
     * @throws IOException if the agent could not be attached.
     * @throws SecurityException if the app is not debuggable.
     */
    public static void attachJvmtiAgent(@NonNull String library, @Nullable String options)
            throws IOException {
    public static void attachJvmtiAgent(@NonNull String library, @Nullable String options,
            @Nullable ClassLoader classLoader) throws IOException {
        Preconditions.checkNotNull(library);
        Preconditions.checkArgument(!library.contains("="));

        if (options == null) {
            VMDebug.attachAgent(library);
            VMDebug.attachAgent(library, classLoader);
        } else {
            VMDebug.attachAgent(library + "=" + options);
            VMDebug.attachAgent(library + "=" + options, classLoader);
        }
    }
}