diff options
| author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-01-22 18:22:07 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-01-22 18:22:07 +0000 |
| commit | 940c0341f00872e5e19ea28cc8389b9bfd1c3abc (patch) | |
| tree | 3186fcab906aba8d44874ad8356bcef339331941 /core/java/android/os/Debug.java | |
| parent | 7ee26e72cf3cecf782ad822a6795a6e018ac2dba (diff) | |
| parent | 571b700fb6bdb90eed59d16705ef4ae2fb69a9d3 (diff) | |
Merge "Debug: Add attachJvmtiAgent with classloader"
Diffstat (limited to 'core/java/android/os/Debug.java')
| -rw-r--r-- | core/java/android/os/Debug.java | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java index 2acf36fed85f..c3894c486936 100644 --- a/core/java/android/os/Debug.java +++ b/core/java/android/os/Debug.java @@ -1136,7 +1136,7 @@ public final class Debug int intervalUs) { VMDebug.startMethodTracing(fixTracePath(tracePath), bufferSize, 0, true, intervalUs); } - + /** * Formats name of trace log file for method tracing. */ @@ -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); } } } |
