]> xenbits.xensource.com Git - xen.git/commitdiff
gdbsx: update README and remove space in q packet
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 16 Jul 2010 13:02:10 +0000 (14:02 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 16 Jul 2010 13:02:10 +0000 (14:02 +0100)
Newer version of gdb, version 7*, seems to have bug where it is not
parsing thread list from gdbsx properly. Getting rid of the space in
thread list works around it. It's ok with older gdb also.

Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
xen-unstable changeset:   21806:bb3b28cb7208
xen-unstable date:        Thu Jul 15 16:30:24 2010 +0100

tools/debugger/gdbsx/README
tools/debugger/gdbsx/gx/gx_main.c

index ac01add93cab8125d9437bd9b25c61bef17c12be..0ac229924c58f6bc83d20978631ae0ec49ae28a2 100644 (file)
@@ -26,7 +26,7 @@ USAGE:
       bash> gdb ./vmlinux             (exact matching vmlinux of guest kernel)
       (gdb) target remote dom0:9999 
 
-   - Additionally, to debug loadable kernel modules, please do following:
+   - Additionally, to debug 32bit loadable kernel modules, please do following:
       (gdb) p init_mm.pgd[3]
       $1 = {pgd = 0x1b874f027}
       (gdb) monitor pgd3 0x1b874f027  (Make sure value is in HEX)
index 07923af973e7869b15895d23f77ba701a66f7973..e3feee14434f50228be76aa98222b4cbe8672725 100644 (file)
@@ -132,12 +132,12 @@ _do_qRcmd_req(char *remote_buf)
 static void
 process_q_request(char *remote_buf)
 {
-    /* send a list of tids: "m 0,1,2,3l" */
+    /* send a list of tids: "m0,1,2,3l" */
     if (strcmp("qfThreadInfo", remote_buf) == 0) {
         vcpuid_t vid = 0;
         char *p = remote_buf;
 
-        sprintf(p, "m %x", vid);        /* puts null char at the end */
+        sprintf(p, "m%x", vid);        /* puts null char at the end */
         p = p + strlen(p);
         for (vid=1; vid <= max_vcpuid; vid++) {
             sprintf(p, ",%x", vid);
@@ -146,8 +146,9 @@ process_q_request(char *remote_buf)
         sprintf(p, "l");                /* puts null char at the end */
         return;
     }
+
     /* qSymbol works for init_mm, and not init_mm.pgd, hence we can't use
-         * it at this time. instead use "monitor" in gdb */
+     * it at this time. instead use "monitor" in gdb */
     if (strncmp("qRcmd,", remote_buf, 6) == 0) {
         _do_qRcmd_req(remote_buf);
         return;
@@ -155,8 +156,7 @@ process_q_request(char *remote_buf)
 
     /* TBD : qThreadExtraInfo : send extra banner info  */
 
-        /* nothing else supported right now */
-    remote_buf[0] = '\0';
+    remote_buf[0] = '\0';              /* nothing else supported for now */
 
     return;
 }