fixes for winedbg gdb mode

Eric Pouech eric.pouech at wanadoo.fr
Sun Dec 15 12:24:32 CST 2002


this patch fixes a protocol bug (while handling error case), an 
enhancement for latest gdb and some cosmetic fixes for some strings
A+
-- 
Eric Pouech
-------------- next part --------------
Name:          wd_gdb
ChangeLog:     fixed a few issues with the gdb proxy
License:       X11
GenDate:       2002/12/15 18:22:33 UTC
ModifiedFiles: programs/winedbg/gdbproxy.c
AddedFiles:    
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/programs/winedbg/gdbproxy.c,v
retrieving revision 1.2
diff -u -u -r1.2 gdbproxy.c
--- programs/winedbg/gdbproxy.c	15 Oct 2002 02:19:06 -0000	1.2
+++ programs/winedbg/gdbproxy.c	15 Oct 2002 17:12:04 -0000
@@ -1743,7 +1743,7 @@
         }
     }
     /* no more entries... eech */
-    fprintf(stderr, "Running out of spot for {break|watcgh}points\n");
+    fprintf(stderr, "Running out of spots for {break|watch}points\n");
     return packet_error;
 }
 
@@ -1858,10 +1858,11 @@
              */
             gdbctx->out_len = 0;
         }
-        else if (gdbctx->trace & GDBPXY_TRC_LOWLEVEL)
+        else
         {
             write(gdbctx->sock, "+", 1);
-            fprintf(stderr, "dropping packet, invalid checksum %d <> %d\n", in_cksum, loc_cksum);
+            if (gdbctx->trace & GDBPXY_TRC_LOWLEVEL)
+                fprintf(stderr, "dropping packet, invalid checksum %d <> %d\n", in_cksum, loc_cksum);
         }
         gdbctx->in_len -= plen + 4;
         memmove(gdbctx->in_buf, end + 3, gdbctx->in_len);
@@ -1938,7 +1939,7 @@
         case 0: /* in child... and alive */
             {
                 char    buf[MAX_PATH];
-		int fd;
+		int     fd;
                 char*   gdb_path;
                 FILE*   f;
 
@@ -1951,6 +1952,8 @@
                 fprintf(f, "target remote localhost:%d\n", ntohs(s_addrs.sin_port));
                 fprintf(f, "monitor trace=0\n");
                 fprintf(f, "set prompt Wine-gdb>\\ \n");
+                /* gdb 5.1 seems to require it, won't hurt anyway */
+                fprintf(f, "sharedlibrary\n");
                 /* tell gdb to delete this file when done handling it... */
                 fprintf(f, "shell rm -f \"%s\"\n", buf);
                 fclose(f);


More information about the wine-patches mailing list