summaryrefslogtreecommitdiff
path: root/src/debug/jdwp/jdwp_def.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/jdwp/jdwp_def.h')
-rw-r--r--src/debug/jdwp/jdwp_def.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/debug/jdwp/jdwp_def.h b/src/debug/jdwp/jdwp_def.h
index 7f13f8c..17df081 100644
--- a/src/debug/jdwp/jdwp_def.h
+++ b/src/debug/jdwp/jdwp_def.h
@@ -99,6 +99,17 @@ typedef uint64_t jdwp_dynsized_id;
+/* "location" */
+typedef struct _jdwp_location
+{
+ jdwp_type_tag tag; /* Classe ou interface ? */
+
+ jdwp_dynsized_id class_id; /* Identifiant correspondant */
+ jdwp_dynsized_id method_id; /* Méthode concernée */
+ uint64_t index; /* Position dans le code */
+
+} jdwp_location;
+
/* "string" */
typedef struct _jdwp_string
@@ -111,6 +122,10 @@ typedef struct _jdwp_string
+
+
+
+
/**
* Jeux de commandes.
*/
@@ -137,6 +152,7 @@ typedef struct _jdwp_string
/* ThreadReference Command Set */
#define JDWP_CMD_THREAD_NAME 1
+#define JDWP_CMD_THREAD_FRAMES 6
/**
@@ -190,6 +206,32 @@ typedef struct _jdwp_cmd_thread_name_reply
} jdwp_cmd_thread_name_reply;
+/* JDWP_CMD_THREAD_FRAMES */
+
+typedef struct _jdwp_cmd_thread_frames_request
+{
+ jdwp_dynsized_id id; /* Identifiant du thread visé */
+ uint32_t start; /* Première frame à traiter */
+ uint32_t length; /* Longueur de la liste ou -1 */
+
+} jdwp_cmd_thread_frames_request;
+
+#define ALL_FRAMES 0xffffffff
+
+typedef struct _jdwp_thread_frame
+{
+ jdwp_dynsized_id frame_id; /* Identifiant de la frame */
+ jdwp_location location; /* Localisation de la frame */
+
+} jdwp_thread_frame;
+
+typedef struct _jdwp_cmd_thread_frames_reply
+{
+ uint32_t count; /* Taille de la liste */
+ jdwp_thread_frame *frames; /* Liste de frames */
+
+} jdwp_cmd_thread_frames_reply;
+
#endif /* _DEBUG_JDWP_JDWP_DEF_H */