1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License. 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * String constants to go along with enumerated values. (Pity we don't 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * have enumerated constant reflection in C.) These are only needed for 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * making the output human-readable. 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#include "jdwp/JdwpConstants.h" 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the error code. 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 26d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpErrorStr(JdwpError error) 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (error) { 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NONE: 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NONE"; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_THREAD: 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_THREAD"; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_THREAD_GROUP: 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_THREAD_GROUP"; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_PRIORITY: 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_PRIORITY"; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_THREAD_NOT_SUSPENDED: 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "THREAD_NOT_SUSPENDED"; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_THREAD_SUSPENDED: 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "THREAD_SUSPENDED"; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_OBJECT: 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_OBJEC"; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS: 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS"; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CLASS_NOT_PREPARED: 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CLASS_NOT_PREPARED"; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_METHODID: 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_METHODID"; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_LOCATION: 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_LOCATION"; 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_FIELDID: 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_FIELDID"; 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_FRAMEID: 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_FRAMEID"; 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NO_MORE_FRAMES: 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NO_MORE_FRAMES"; 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_OPAQUE_FRAME: 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "OPAQUE_FRAME"; 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_CURRENT_FRAME: 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_CURRENT_FRAME"; 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TYPE_MISMATCH: 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TYPE_MISMATCH"; 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_SLOT: 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_SLOT"; 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_DUPLICATE: 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "DUPLICATE"; 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_FOUND: 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_FOUND"; 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_MONITOR: 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_MONITOR"; 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_MONITOR_OWNER: 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_MONITOR_OWNER"; 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INTERRUPT: 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INTERRUPT"; 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS_FORMAT: 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS_FORMAT"; 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CIRCULAR_CLASS_DEFINITION: 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CIRCULAR_CLASS_DEFINITION"; 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_FAILS_VERIFICATION: 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "FAILS_VERIFICATION"; 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ADD_METHOD_NOT_IMPLEMENTED: 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ADD_METHOD_NOT_IMPLEMENTED"; 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_SCHEMA_CHANGE_NOT_IMPLEMENTED: 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "SCHEMA_CHANGE_NOT_IMPLEMENTED"; 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_TYPESTATE: 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_TYPESTATE"; 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_HIERARCHY_CHANGE_NOT_IMPLEMENTED: 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "HIERARCHY_CHANGE_NOT_IMPLEMENTED"; 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_DELETE_METHOD_NOT_IMPLEMENTED: 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "DELETE_METHOD_NOT_IMPLEMENTED"; 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_UNSUPPORTED_VERSION: 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "UNSUPPORTED_VERSION"; 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NAMES_DONT_MATCH: 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NAMES_DONT_MATCH"; 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED: 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED"; 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED: 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED"; 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_IMPLEMENTED: 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_IMPLEMENTED"; 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NULL_POINTER: 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NULL_POINTER"; 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ABSENT_INFORMATION: 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ABSENT_INFORMATION"; 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_EVENT_TYPE: 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_EVENT_TYPE"; 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ILLEGAL_ARGUMENT: 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ILLEGAL_ARGUMENT"; 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_OUT_OF_MEMORY: 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "OUT_OF_MEMORY"; 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ACCESS_DENIED: 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ACCESS_DENIED"; 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_VM_DEAD: 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "VM_DEAD"; 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INTERNAL: 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INTERNAL"; 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_UNATTACHED_THREAD: 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "UNATTACHED_THREAD"; 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_TAG: 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_TAG"; 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ALREADY_INVOKING: 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ALREADY_INVOKING"; 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_INDEX: 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_INDEX"; 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_LENGTH: 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_LENGTH"; 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_STRING: 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_STRING"; 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS_LOADER: 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS_LOADER"; 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_ARRAY: 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_ARRAY"; 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TRANSPORT_LOAD: 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TRANSPORT_LOAD"; 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TRANSPORT_INIT: 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TRANSPORT_INIT"; 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NATIVE_METHOD: 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NATIVE_METHOD"; 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_COUNT: 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_COUNT"; 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "?UNKNOWN?"; 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the EventKind. 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 149d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpEventKindStr(JdwpEventKind kind) 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (kind) { 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_SINGLE_STEP: return "SINGLE_STEP"; 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_BREAKPOINT: return "BREAKPOINT"; 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FRAME_POP: return "FRAME_POP"; 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_EXCEPTION: return "EXCEPTION"; 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_USER_DEFINED: return "USER_DEFINED"; 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_THREAD_START: return "THREAD_START"; 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /*case EK_THREAD_END: return "THREAD_END";*/ 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_PREPARE: return "CLASS_PREPARE"; 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_UNLOAD: return "CLASS_UNLOAD"; 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_LOAD: return "CLASS_LOAD"; 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FIELD_ACCESS: return "FIELD_ACCESS"; 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FIELD_MODIFICATION: return "FIELD_MODIFICATION"; 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_EXCEPTION_CATCH: return "EXCEPTION_CATCH"; 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_METHOD_ENTRY: return "METHOD_ENTRY"; 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_METHOD_EXIT: return "METHOD_EXIT"; 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_INIT: return "VM_INIT"; 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_DEATH: return "VM_DEATH"; 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_DISCONNECTED: return "VM_DISCONNECTED"; 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /*case EK_VM_START: return "VM_START";*/ 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_THREAD_DEATH: return "THREAD_DEATH"; 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 1770970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden * Return a string for the ModKind. 1780970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden */ 179d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpModKindStr(JdwpModKind kind) 1800970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden{ 1810970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden switch (kind) { 1820970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_COUNT: return "COUNT"; 1830970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_CONDITIONAL: return "CONDITIONAL"; 1840970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_THREAD_ONLY: return "THREAD_ONLY"; 1850970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_CLASS_ONLY: return "CLASS_ONLY"; 1860970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_CLASS_MATCH: return "CLASS_MATCH"; 1870970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_CLASS_EXCLUDE: return "CLASS_EXCLUDE"; 1880970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_LOCATION_ONLY: return "LOCATION_ONLY"; 1890970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_EXCEPTION_ONLY: return "EXCEPTION_ONLY"; 1900970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_FIELD_ONLY: return "FIELD_ONLY"; 1910970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_STEP: return "STEP"; 1920970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden case MK_INSTANCE_ONLY: return "INSTANCE_ONLY"; 1930970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden default: return "?UNKNOWN?"; 1940970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden } 1950970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden} 1960970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden 1970970976b0e980be00424f93a69c2bc13ca3131f3Andy McFadden/* 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the StepDepth. 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 200d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpStepDepthStr(JdwpStepDepth depth) 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (depth) { 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_INTO: return "INTO"; 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_OVER: return "OVER"; 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_OUT: return "OUT"; 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the StepSize. 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 213d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpStepSizeStr(JdwpStepSize size) 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (size) { 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SS_MIN: return "MIN"; 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SS_LINE: return "LINE"; 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the SuspendPolicy. 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 225d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpSuspendPolicyStr(JdwpSuspendPolicy policy) 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (policy) { 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_NONE: return "NONE"; 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_EVENT_THREAD: return "EVENT_THREAD"; 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_ALL: return "ALL"; 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the SuspendStatus. 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 238d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpSuspendStatusStr(JdwpSuspendStatus status) 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (status) { 2417a921948c597d72a6db9ec6f3a0f1fbdfd3e49c8Doug Kwan case SUSPEND_STATUS_NOT_SUSPENDED: return "Not SUSPENDED"; 2427a921948c597d72a6db9ec6f3a0f1fbdfd3e49c8Doug Kwan case SUSPEND_STATUS_SUSPENDED: return "SUSPENDED"; 2437a921948c597d72a6db9ec6f3a0f1fbdfd3e49c8Doug Kwan default: return "?UNKNOWN?"; 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the ThreadStatus. 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 250d862faa2ceae186da5518607505eb942d634ced9Carl Shapiroconst char* dvmJdwpThreadStatusStr(JdwpThreadStatus status) 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (status) { 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_ZOMBIE: return "ZOMBIE"; 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_RUNNING: return "RUNNING"; 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_SLEEPING: return "SLEEPING"; 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_MONITOR: return "MONITOR"; 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_WAIT: return "WAIT"; 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}; 261