diff options
author | Andreas Gampe <agampe@google.com> | 2019-06-18 12:36:46 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2019-06-20 16:31:58 -0700 |
commit | 8695b40720dcda3ded314c7ec962578883e83f78 (patch) | |
tree | 6999d64d000be0e425b0dbc9af5f7083ce9b5199 /tools/lock_agent/agent.cpp | |
parent | 5e2a8849c75693f2d4a78e3474ba7d711aeaef46 (diff) |
LockAgent: Add option to synthesize Java crash logging
Add the ability to dump a "crash" to logcat.
Test: m
Test: manual
Change-Id: I0692a91df995883e526a718fe95f0d3568ac9328
Diffstat (limited to 'tools/lock_agent/agent.cpp')
-rw-r--r-- | tools/lock_agent/agent.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/lock_agent/agent.cpp b/tools/lock_agent/agent.cpp index 5b1d52e809aa..c639427e645e 100644 --- a/tools/lock_agent/agent.cpp +++ b/tools/lock_agent/agent.cpp @@ -68,6 +68,7 @@ namespace { JavaVM* gJavaVM = nullptr; bool gForkCrash = false; +bool gJavaCrash = false; // Converts a class name to a type descriptor // (ex. "java.lang.String" to "Ljava/lang/String;") @@ -394,6 +395,8 @@ jint attach(JavaVM* vm, char* options, void* reserved ATTRIBUTE_UNUSED) { for (const std::string& c : config) { if (c == "native_crash") { gForkCrash = true; + } else if (c == "java_crash") { + gJavaCrash = true; } } @@ -405,6 +408,11 @@ jboolean JNICALL Java_com_android_lock_1checker_LockHook_getNativeHandlingConfig return gForkCrash ? JNI_TRUE : JNI_FALSE; } +extern "C" JNIEXPORT jboolean JNICALL +Java_com_android_lock_1checker_LockHook_getSimulateCrashConfig(JNIEnv*, jclass) { + return gJavaCrash ? JNI_TRUE : JNI_FALSE; +} + extern "C" JNIEXPORT void JNICALL Java_com_android_lock_1checker_LockHook_nWtf(JNIEnv* env, jclass, jstring msg) { if (!gForkCrash || msg == nullptr) { |