From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10061 invoked by alias); 26 Nov 2008 15:05:42 -0000 Received: (qmail 9962 invoked by uid 22791); 26 Nov 2008 15:05:40 -0000 X-Spam-Check-By: sourceware.org Received: from ti-out-0910.google.com (HELO ti-out-0910.google.com) (209.85.142.190) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 26 Nov 2008 15:05:02 +0000 Received: by ti-out-0910.google.com with SMTP id d10so378641tib.12 for ; Wed, 26 Nov 2008 07:04:59 -0800 (PST) Received: by 10.110.41.17 with SMTP id o17mr8660255tio.33.1227711898948; Wed, 26 Nov 2008 07:04:58 -0800 (PST) Received: by 10.110.103.3 with HTTP; Wed, 26 Nov 2008 07:04:58 -0800 (PST) Message-ID: Date: Thu, 27 Nov 2008 09:44:00 -0000 From: teawater To: "gdb-patches@sourceware.org" Subject: [multiprocess] Linux-nat multiprocess switch MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_32712_10023323.1227711898936" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-11/txt/msg00715.txt.bz2 ------=_Part_32712_10023323.1227711898936 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1524 Hi, I got and test the multiprocess branch. And can't find a interface to switch the process. So I make this example patch make multiprocess be switched in linux-nat. It still have a lot of bugs. I will make it better if you guys like it. Example: (gdb) list During symbol reading, DW_AT_name missing from DW_TAG_base_type. 5 #include 6 #include 7 #include 8 #include 9 #include 10 11 int 12 main(int argc,char *argv[],char *envp[]) 13 { 14 pid_t pid = fork (); (gdb) 15 16 if (pid == 0) { 17 while (1) { 18 printf ("%d: C\n", getpid ()); 19 sleep (2); 20 } 21 } 22 else { 23 while (1) { 24 printf ("%d: F\n", getpid ()); (gdb) 25 sleep (2); 26 } 27 } 28 29 return (0); 30 } 31 (gdb) set detach-on-fork off (gdb) set follow-fork-mode child (gdb) r Starting program: /home/teawater/multiprocess/a.out 9004: C 9001: F 9004: C 9001: F 9004: C 9001: F Program received signal SIGINT, Interrupt. 0xb7fe3410 in __kernel_vsyscall () (gdb) info inferiors 3 9004 a.out * 2 9001 a.out 1 0 #a.out# /home/teawater/multiprocess/a.out (gdb) b 18 Breakpoint 1 at 0x8048433: file 1.c, line 18. (gdb) c Continuing. 9004: C 9001: F 9004: C 9001: F Program received signal SIGINT, Interrupt. 0xb7fe3410 in __kernel_vsyscall () (gdb) switch-inferior 3 (gdb) c Continuing. 9001: F Breakpoint 1, main (argc=, argv=, envp=) at 1.c:18 18 printf ("%d: C\n", getpid ()); Thanks, Hui ------=_Part_32712_10023323.1227711898936 Content-Type: text/plain; name=inferior-switch.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fo03y3u81 Content-Disposition: attachment; filename=inferior-switch.txt Content-length: 1928 LS0tIGdkYi5vcmlnL2luZmVyaW9yLmMKKysrIGdkYi9pbmZlcmlvci5jCkBA IC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiZ2RidGhyZWFkLmgiCiAjaW5j bHVkZSAidWktb3V0LmgiCiAjaW5jbHVkZSAib2JzZXJ2ZXIuaCIKKyNpbmNs dWRlICJyZWdjYWNoZS5oIgogCiB2b2lkIF9pbml0aWFsaXplX2luZmVyaW9y cyAodm9pZCk7CiAKQEAgLTExMjQsNiArMTEyNSwyOSBAQAogfQogCiB2b2lk Citzd2l0Y2hfaW5mZXJpb3JfY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZy b21fdHR5KQoreworICBzdHJ1Y3QgaW5mZXJpb3IgKmluZjsKKyAgaW50IHBp ZDsKKyAgcHRpZF90IHB0aWQ7CisKKyAgLyogR2V0IHB0aWQuICovCisgIGdl dF9pbmZlcmlvcl9vcl9waWQgKGFyZ3MsICZpbmYsICZwaWQpOworICBpZiAo cGlkIDw9IDApCisgICAgeworICAgICAgcHJpbnRmX3VuZmlsdGVyZWQgKF8o IkNhbid0IHN3aXRjaCB0byBpbmZlcmlvciAlc1xuIiksIGFyZ3MpOworICAg IH0KKyAgcHRpZCA9IHB0aWRfYnVpbGQgKHBpZCwgcGlkLCAwKTsKKyAgCisg IGlmIChwdGlkX2VxdWFsIChwdGlkLCBpbmZlcmlvcl9wdGlkKSkKKyAgICBy ZXR1cm47CisKKyAgaW5mZXJpb3JfcHRpZCA9IHB0aWQ7CisgIHJlaW5pdF9m cmFtZV9jYWNoZSAoKTsKKyAgcmVnaXN0ZXJzX2NoYW5nZWQgKCk7Cit9CisK K3ZvaWQKIF9pbml0aWFsaXplX2luZmVyaW9ycyAodm9pZCkKIHsKICAgYWRk X2NvbSAoImFkZC1pbmZlcmlvciIsIG5vX2NsYXNzLCBhZGRfaW5mZXJpb3Jf Y29tbWFuZCwgXygiXApAQCAtMTEzMiw2ICsxMTU2LDkgQEAKICAgYWRkX2Nv bSAoInJlbW92ZS1pbmZlcmlvciIsIG5vX2NsYXNzLCByZW1vdmVfaW5mZXJp b3JfY29tbWFuZCwgXygiXAogUmVtb3ZlIHRoZSBpbmZlcmlvcnMgaW4gSVRT RVQuIikpOwogCisgIGFkZF9jb20gKCJzd2l0Y2gtaW5mZXJpb3IiLCBub19j bGFzcywgc3dpdGNoX2luZmVyaW9yX2NvbW1hbmQsIF8oIlwKK1N3aXRjaCB0 aGUgaW5mZXJpb3JzIGluIElUU0VULiIpKTsKKwogICBhZGRfY29tICgibmFt ZS1pbmZlcmlvciIsIG5vX2NsYXNzLCBuYW1lX2luZmVyaW9yX2NvbW1hbmQs IF8oIlwKIENoYW5nZSB0aGUgbmFtZSBvZiBpbmZlcmlvciBPTEROQU1FIHRv IE5FV05BTUUuIikpOwogCi0tLSBnZGIub3JpZy9saW51eC1uYXQuYworKysg Z2RiL2xpbnV4LW5hdC5jCkBAIC0xMTI3LDExICsxMTI3LDExIEBACiB7CiAg IHN0cnVjdCBsd3BfaW5mbyAqbHA7CiAKLSAgaW5pdF9sd3BfbGlzdCAoKTsK KyAgLy9pbml0X2x3cF9saXN0ICgpOwogICBscCA9IGFkZF9sd3AgKG5ld19w dGlkKTsKICAgbHAtPnN0b3BwZWQgPSAxOwogCi0gIGluaXRfdGhyZWFkX2xp c3QgKCk7CisgIC8vaW5pdF90aHJlYWRfbGlzdCAoKTsKICAgYWRkX3RocmVh ZF9zaWxlbnQgKG5ld19wdGlkKTsKIH0KIAo= ------=_Part_32712_10023323.1227711898936--