diff options
| author | Philip P. Moltmann <moltmann@google.com> | 2017-11-06 21:12:50 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2017-11-06 21:12:50 +0000 |
| commit | 4c10ba499d60f88d24be147beee8ea321a07b34c (patch) | |
| tree | 4001b463ea0e12485b98a993d050932b4573b5a6 /core/java/android | |
| parent | 9c2323199f28c19164c0be971dfbe554f039a28d (diff) | |
| parent | b567ea9ddad6a6486b585f6ed27317561425f2e8 (diff) | |
Merge "Allow to attach jvmti agents from inside of process" am: faffb072a4 am: 491058e089
am: b567ea9dda
Change-Id: Ie2d729a7c46a558597d626d1ebd5227bf56b1f55
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/os/Debug.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java index 2e62eb6a5f97..2acf36fed85f 100644 --- a/core/java/android/os/Debug.java +++ b/core/java/android/os/Debug.java @@ -16,11 +16,14 @@ package android.os; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.app.AppGlobals; import android.content.Context; import android.util.Log; import com.android.internal.util.FastPrintWriter; +import com.android.internal.util.Preconditions; import com.android.internal.util.TypedProperties; import dalvik.system.VMDebug; @@ -2347,4 +2350,24 @@ public final class Debug public static String getCaller() { return getCaller(Thread.currentThread().getStackTrace(), 0); } + + /** + * Attach a library as a jvmti agent to the current runtime. + * + * @param library library containing the agent + * @param options options passed to the agent + * + * @throws IOException If the agent could not be attached + */ + public static void attachJvmtiAgent(@NonNull String library, @Nullable String options) + throws IOException { + Preconditions.checkNotNull(library); + Preconditions.checkArgument(!library.contains("=")); + + if (options == null) { + VMDebug.attachAgent(library); + } else { + VMDebug.attachAgent(library + "=" + options); + } + } } |
