Home | History | Annotate | Download | only in jdwp

Lines Matching defs:JDWP

17 #include "jdwp/jdwp_event.h"
30 #include "jdwp/jdwp_constants.h"
31 #include "jdwp/jdwp_expand_buf.h"
32 #include "jdwp/jdwp_priv.h"
33 #include "jdwp/object_registry.h"
48 Event posting can happen from any thread. The JDWP thread will not usually
49 post anything but VM start/death, but if a JDWP request causes a class
50 to be loaded, the ClassPrepare event will come from the JDWP thread.
73 JDWP thread:
94 holding the event token is very bad, because it prevents the JDWP thread
105 namespace JDWP {
159 // listen to in order to properly report the given JDWP event to the debugger.
255 VLOG(jdwp) << "Removing events within " << klass->PrettyClass();
378 VLOG(jdwp) << StringPrintf("No match when removing event reqId=0x%04x", requestId);
452 VLOG(jdwp) << StringPrintf("##### Removing expired event (requestId=%#" PRIx32 ")",
622 * SP_ALL - suspend everybody except JDWP support thread
624 void JdwpState::SuspendByPolicy(JdwpSuspendPolicy suspend_policy, JDWP::ObjectId thread_self_id) {
625 VLOG(jdwp) << "SuspendByPolicy(" << suspend_policy << ")";
638 LOG(INFO) << "NOTE: SuspendByPolicy not suspending JDWP thread";
646 * The JDWP thread has told us (and possibly all other threads) to
709 * We need the JDWP thread to hold off on doing stuff while we post an
736 VLOG(jdwp) << StringPrintf("event in progress (%#" PRIx64 "), %#" PRIx64 " sleeping",
743 VLOG(jdwp) << StringPrintf("event token grabbed (%#" PRIx64 ")", threadId);
762 VLOG(jdwp) << StringPrintf("cleared event token (%#" PRIx64 ")", jdwp_token_owner_thread_id_);
810 VLOG(jdwp) << "EVENT: " << EK_VM_START;
811 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
831 VLOG(jdwp) << "EVENT #" << i << ": " << pEvent->eventKind
836 if (error != JDWP::ERR_NONE) {
839 VLOG(jdwp) << StringPrintf(" thread=%#" PRIx64, thread_id) << " " << thread_name;
842 static void SetJdwpLocationFromEventLocation(const JDWP::EventLocation* event_location,
843 JDWP::JdwpLocation* jdwp_location)
890 VLOG(jdwp) << "Ignoring location event in JDWP thread";
904 VLOG(jdwp) << "Not checking breakpoints during invoke (" << basket.className << ")";
934 JDWP::JdwpLocation jdwp_location;
937 if (VLOG_IS_ON(jdwp)) {
939 VLOG(jdwp) << " location=" << jdwp_location;
940 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
983 VLOG(jdwp) << "Not posting field event during invoke (" << basket.className << ")";
1000 JDWP::JdwpLocation jdwp_location;
1003 if (VLOG_IS_ON(jdwp)) {
1005 VLOG(jdwp) << " location=" << jdwp_location;
1006 VLOG(jdwp) << StringPrintf(" this=%#" PRIx64, instance_id);
1007 VLOG(jdwp) << StringPrintf(" type=%#" PRIx64, field_type_id) << " "
1009 VLOG(jdwp) << StringPrintf(" field=%#" PRIx64, field_id) << " "
1011 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
1019 JDWP::JdwpTypeTag type_tag = Dbg::GetTypeTag(field->GetDeclaringClass());
1071 // thread to get its JDWP id. Therefore we can't report event if there
1090 if (VLOG_IS_ON(jdwp)) {
1092 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
1121 VLOG(jdwp) << "EVENT: " << EK_VM_DEATH;
1152 VLOG(jdwp) << "Unexpected: exception event with empty throw location";
1167 VLOG(jdwp) << "Not posting exception hit during invoke (" << basket.className << ")";
1181 JDWP::JdwpLocation jdwp_throw_location;
1182 JDWP::JdwpLocation jdwp_catch_location;
1186 if (VLOG_IS_ON(jdwp)) {
1190 VLOG(jdwp) << " throwLocation=" << jdwp_throw_location;
1192 VLOG(jdwp) << " catchLocation=uncaught";
1194 VLOG(jdwp) << " catchLocation=" << jdwp_catch_location;
1196 VLOG(jdwp) << StringPrintf(" exception=%#" PRIx64, exceptionId) << " "
1198 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
1240 VLOG(jdwp) << "Not posting class prep caused by invoke (" << basket.className << ")";
1258 int status = JDWP::CS_VERIFIED | JDWP::CS_PREPARED;
1259 JDWP::JdwpTypeTag tag = Dbg::GetTypeTag(basket.locationClass.Get());
1263 if (VLOG_IS_ON(jdwp)) {
1265 VLOG(jdwp) << StringPrintf(" type=%#" PRIx64, class_id) << " " << signature;
1266 VLOG(jdwp) << " suspend_policy=" << suspend_policy;
1272 * JDWP says that, for a class prep in the debugger thread, we
1276 VLOG(jdwp) << " NOTE: class prepare in debugger thread!";
1313 /* form the header (JDWP plus DDMS) */
1326 * While this takes the form of a JDWP "event", it doesn't interact with
1339 * "Wrap" the contents of the iovec with a JDWP/DDMS header. We do
1376 } // namespace JDWP