From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25002 invoked by alias); 27 Apr 2012 10:32:02 -0000 Received: (qmail 24992 invoked by uid 22791); 27 Apr 2012 10:32:01 -0000 X-SWARE-Spam-Status: No, hits=-4.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-qa0-f41.google.com (HELO mail-qa0-f41.google.com) (209.85.216.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 27 Apr 2012 10:31:45 +0000 Received: by qabg27 with SMTP id g27so275618qab.0 for ; Fri, 27 Apr 2012 03:31:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :x-system-of-record:x-gm-message-state; bh=lNLLdaMlKm0foejlO24Uegto+/j4QxyAtd4sJkUlvbs=; b=TeVd0GFbJSzeqgEaqBxvMr1Bu3PCTYTlF/zOylKm2x1fGE7LVFX9aJBoo5X1rjvn2L qgNA/bawWq7etM2HyBEA93hTTswH6uQFJso62DjYXR/C+JAEDDgT184H3PTOLvTr2rj1 RRen7egphDDQudBQQYYY2M42cEfIhDkwpsojTIyEkduUFrA+Ksp6XvNNXhiYD250ISzb scOZckYC8UH3470iO7Z+kazq709kGj/OAaWCFNM8+KPs2b6NMBNVvTHhxhgYaCJurA64 J7VbwX3UO5PjoyawLQQ1TSY7T5L3+hlLd6dcHtAwCvnsTe48PT/ONBu+AWse47n/7Znw +mPw== Received: by 10.229.135.141 with SMTP id n13mr2545928qct.25.1335522704493; Fri, 27 Apr 2012 03:31:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.135.141 with SMTP id n13mr2545922qct.25.1335522704390; Fri, 27 Apr 2012 03:31:44 -0700 (PDT) Received: by 10.224.215.132 with HTTP; Fri, 27 Apr 2012 03:31:44 -0700 (PDT) Date: Fri, 27 Apr 2012 10:52:00 -0000 Message-ID: Subject: [RFC] Extend gdb.Breakpoint to allow setting a breakpoint at the current execution address From: Siva Chandra To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=e0cb4e59348a627b3b04bea69c7b X-System-Of-Record: true X-Gm-Message-State: ALoCoQn8+g0FV6/zcugxZaeUzBJtJud/m2Hghk+JWI1fs5XeQIZkjeXqiIHT3/uKywavGFEE6uhcguFMZbOiCgUvVF3WFmwIbD+LBRtadS/sIha6Dco4Em07dipS7fPMIwaRvfOUv+fBPZP28IF+DhdGsjkFQVBkSQ== 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: 2012-04/txt/msg00979.txt.bz2 --e0cb4e59348a627b3b04bea69c7b Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1460 Hi all, I didn't find a way to set a breakpoint at the current execution address through the existing Python API. The attached patch 'extends' gdb.Breakpoint to allow this. Probably 'extend' is not the right word, but what this patch does is to allow the SPEC argument of the gdb.Breakpoint constructor to be 'None' or "" or white space space string. When SPEC takes one of these values, a breakpoint is set at the current execution address. Though this is not valid for a watchpoint, the existing error mechanism will handle this correctly. 2012-04-27 Siva Chandra Reddy * breakpoint.c (parse_breakpoint_sals, watch_command_1): Treat argument with all white space to be equivalent to NULL argument. * python/py-breakpoint.c (bppy_init): Make the 'spec' argument optional and allow it to take the value 'None'. doc/ 2012-04-27 Siva Chandra Reddy * gdb.texinfo (Breakpoints In Python): Document that 'spec' argument, of the constructor of gdb.Breakpoint when setting breakpoints, is optional and can also be all white space or None when used. testsuite/ 2012-04-27 Siva Chandra Reddy * gdb.python/py-breakpoint.exp: Test setting breakpoints at the current execution address using different values for the 'spec' argument of the constructor of gdb.Breakpoint. Thanks, Siva Chandra --e0cb4e59348a627b3b04bea69c7b Content-Type: text/plain; charset=US-ASCII; name="bp_patch_v1.txt" Content-Disposition: attachment; filename="bp_patch_v1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h1j3mgna0 Content-length: 7113 SW5kZXg6IGJyZWFrcG9pbnQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2JyZWFrcG9pbnQuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS42NjgKZGlmZiAtdSAtcCAtcjEuNjY4IGJyZWFr cG9pbnQuYwotLS0gYnJlYWtwb2ludC5jCTI0IEFwciAyMDEyIDE0OjMzOjEy IC0wMDAwCTEuNjY4CisrKyBicmVha3BvaW50LmMJMjcgQXByIDIwMTIgMDc6 NTU6MDkgLTAwMDAKQEAgLTg1MjgsNyArODUyOCw3IEBAIHBhcnNlX2JyZWFr cG9pbnRfc2FscyAoY2hhciAqKmFkZHJlc3MsCiAKICAgLyogSWYgbm8gYXJn IGdpdmVuLCBvciBpZiBmaXJzdCBhcmcgaXMgJ2lmICcsIHVzZSB0aGUgZGVm YXVsdAogICAgICBicmVha3BvaW50LiAgKi8KLSAgaWYgKCgqYWRkcmVzcykg PT0gTlVMTAorICBpZiAoKCphZGRyZXNzKSA9PSBOVUxMIHx8ICgqc2tpcF9z cGFjZXMgKCphZGRyZXNzKSkgPT0gJ1wwJwogICAgICAgfHwgKHN0cm5jbXAg KCgqYWRkcmVzcyksICJpZiIsIDIpID09IDAgJiYgaXNzcGFjZSAoKCphZGRy ZXNzKVsyXSkpKQogICAgIHsKICAgICAgIC8qIFRoZSBsYXN0IGRpc3BsYXll ZCBjb2RlcG9pbnQsIGlmIGl0J3MgdmFsaWQsIGlzIG91ciBkZWZhdWx0IGJy ZWFrcG9pbnQKQEAgLTEwMDU0LDcgKzEwMDU0LDcgQEAgd2F0Y2hfY29tbWFu ZF8xIChjaGFyICphcmcsIGludCBhY2Nlc3NmbAogICBzdHJ1Y3Qgd2F0Y2hw b2ludCAqdzsKIAogICAvKiBNYWtlIHN1cmUgdGhhdCB3ZSBhY3R1YWxseSBo YXZlIHBhcmFtZXRlcnMgdG8gcGFyc2UuICAqLwotICBpZiAoYXJnICE9IE5V TEwgJiYgYXJnWzBdICE9ICdcMCcpCisgIGlmIChhcmcgIT0gTlVMTCAmJiAo KnNraXBfc3BhY2VzIChhcmcpKSAhPSAnXDAnKQogICAgIHsKICAgICAgIGNo YXIgKnZhbHVlX3N0YXJ0OwogCkluZGV4OiBkb2MvZ2RiLnRleGluZm8KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dk Yi9kb2MvZ2RiLnRleGluZm8sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOTUw CmRpZmYgLXUgLXAgLXIxLjk1MCBnZGIudGV4aW5mbwotLS0gZG9jL2dkYi50 ZXhpbmZvCTI1IEFwciAyMDEyIDE2OjEzOjE3IC0wMDAwCTEuOTUwCisrKyBk b2MvZ2RiLnRleGluZm8JMjcgQXByIDIwMTIgMDc6NTU6MTQgLTAwMDAKQEAg LTI0OTgxLDEyICsyNDk4MSwxNiBAQCBSZXR1cm4gdGhlIHN5bWJvbCB0YWJs ZSdzIHNvdXJjZSBhYnNvbHV0CiBQeXRob24gY29kZSBjYW4gbWFuaXB1bGF0 ZSBicmVha3BvaW50cyB2aWEgdGhlIEBjb2Rle2dkYi5CcmVha3BvaW50fQog Y2xhc3MuCiAKLUBkZWZ1biBCcmVha3BvaW50Ll9faW5pdF9fIChzcGVjIEBy e1t9LCB0eXBlIEBye1t9LCB3cF9jbGFzcyBAcntbfSxpbnRlcm5hbEBye11d XX0pCitAZGVmdW4gQnJlYWtwb2ludC5fX2luaXRfXyAoQHJ7W31zcGVjIEBy e1t9LCB0eXBlIEBye1t9LCB3cF9jbGFzcyBAcntbfSxpbnRlcm5hbEBye11d XV19KQogQ3JlYXRlIGEgbmV3IGJyZWFrcG9pbnQuICBAdmFye3NwZWN9IGlz IGEgc3RyaW5nIG5hbWluZyB0aGUKIGxvY2F0aW9uIG9mIHRoZSBicmVha3Bv aW50LCBvciBhbiBleHByZXNzaW9uIHRoYXQgZGVmaW5lcyBhCiB3YXRjaHBv aW50LiAgVGhlIGNvbnRlbnRzIGNhbiBiZSBhbnkgbG9jYXRpb24gcmVjb2du aXplZCBieSB0aGUKIEBjb2Rle2JyZWFrfSBjb21tYW5kLCBvciBpbiB0aGUg Y2FzZSBvZiBhIHdhdGNocG9pbnQsIGJ5IHRoZSBAY29kZXt3YXRjaH0KLWNv bW1hbmQuICBUaGUgb3B0aW9uYWwgQHZhcnt0eXBlfSBkZW5vdGVzIHRoZSBi cmVha3BvaW50IHRvIGNyZWF0ZQorY29tbWFuZC4gIEZvciBhIGJyZWFrcG9p bnQsIG9taXR0aW5nICBvciBzZXR0aW5nIEB2YXJ7c3BlY30gdG8gYWxsIHdo aXRlCitzcGFjZSBzZXRzIGEgYnJlYWtwb2ludCBhdCB0aGUgY3VycmVudCBl eGVjdXRpb24gYWRkcmVzcyBvZiB0aGUgc2VsZWN0ZWQKK3N0YWNrIGZyYW1l LiAgRm9yIGEgd2F0Y2hwb2ludCwgQHZhcntzcGVjfSBzaG91bGQgbm90IGJl IG9taXR0ZWQgYW5kCitzaG91bGQgYmUgYSB2YWxpZCBleHByZXNzaW9uIGlu IHRoZSBjdXJyZW50IGNvbnRleHQgb2YgdGhlIHByb2dyYW0gYmVpbmcKK2Rl YnVnZ2VkLiAgVGhlIG9wdGlvbmFsIEB2YXJ7dHlwZX0gZGVub3RlcyB0aGUg YnJlYWtwb2ludCB0byBjcmVhdGUKIGZyb20gdGhlIHR5cGVzIGRlZmluZWQg bGF0ZXIgaW4gdGhpcyBjaGFwdGVyLiAgVGhpcyBhcmd1bWVudCBjYW4gYmUK IGVpdGhlcjogQGNvZGV7Z2RiLkJQX0JSRUFLUE9JTlR9IG9yIEBjb2Rle2dk Yi5CUF9XQVRDSFBPSU5UfS4gIEB2YXJ7dHlwZX0KIGRlZmF1bHRzIHRvIEBj b2Rle2dkYi5CUF9CUkVBS1BPSU5UfS4gIFRoZSBvcHRpb25hbCBAdmFye2lu dGVybmFsfSBhcmd1bWVudApJbmRleDogcHl0aG9uL3B5LWJyZWFrcG9pbnQu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9z cmMvZ2RiL3B5dGhvbi9weS1icmVha3BvaW50LmMsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMzMKZGlmZiAtdSAtcCAtcjEuMzMgcHktYnJlYWtwb2ludC5j Ci0tLSBweXRob24vcHktYnJlYWtwb2ludC5jCTEzIE1hciAyMDEyIDEzOjMw OjQyIC0wMDAwCTEuMzMKKysrIHB5dGhvbi9weS1icmVha3BvaW50LmMJMjcg QXByIDIwMTIgMDc6NTU6MTQgLTAwMDAKQEAgLTU5MCwxNCArNTkwLDE0IEBA IHN0YXRpYyBpbnQKIGJwcHlfaW5pdCAoUHlPYmplY3QgKnNlbGYsIFB5T2Jq ZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewogICBzdGF0aWMgY2hh ciAqa2V5d29yZHNbXSA9IHsgInNwZWMiLCAidHlwZSIsICJ3cF9jbGFzcyIs ICJpbnRlcm5hbCIsIE5VTEwgfTsKLSAgY29uc3QgY2hhciAqc3BlYzsKKyAg Y29uc3QgY2hhciAqc3BlYyA9IE5VTEw7CiAgIGludCB0eXBlID0gYnBfYnJl YWtwb2ludDsKICAgaW50IGFjY2Vzc190eXBlID0gaHdfd3JpdGU7CiAgIFB5 T2JqZWN0ICppbnRlcm5hbCA9IE5VTEw7CiAgIGludCBpbnRlcm5hbF9icCA9 IDA7CiAgIHZvbGF0aWxlIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGV4Y2VwdDsK IAotICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMgKGFyZ3Ms IGt3YXJncywgInN8aWlPIiwga2V5d29yZHMsCisgIGlmICghIFB5QXJnX1Bh cnNlVHVwbGVBbmRLZXl3b3JkcyAoYXJncywga3dhcmdzLCAifHppaU8iLCBr ZXl3b3JkcywKIAkJCQkgICAgICZzcGVjLCAmdHlwZSwgJmFjY2Vzc190eXBl LCAmaW50ZXJuYWwpKQogICAgIHJldHVybiAtMTsKIApAQCAtNjE0LDggKzYx NCwxMyBAQCBicHB5X2luaXQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq YXJnCiAgIAogICBUUllfQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tfQUxM KQogICAgIHsKLSAgICAgIGNoYXIgKmNvcHkgPSB4c3RyZHVwIChzcGVjKTsK LSAgICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwID0gbWFrZV9jbGVhbnVw ICh4ZnJlZSwgY29weSk7CisgICAgICBjaGFyICpjb3B5ID0gTlVMTDsKKyAg ICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwOworCisgICAgICBpZiAoc3Bl YykKKyAgICAgICAgY29weSA9IHhzdHJkdXAgKHNwZWMpOworCisgICAgICBj bGVhbnVwID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgY29weSk7CiAKICAgICAg IHN3aXRjaCAodHlwZSkKIAl7CkluZGV4OiB0ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1icmVha3BvaW50LmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9u L3B5LWJyZWFrcG9pbnQuZXhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0 CmRpZmYgLXUgLXAgLXIxLjE0IHB5LWJyZWFrcG9pbnQuZXhwCi0tLSB0ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1icmVha3BvaW50LmV4cAkxNiBKYW4gMjAx MiAxNjoyMTo1MiAtMDAwMAkxLjE0CisrKyB0ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1icmVha3BvaW50LmV4cAkyNyBBcHIgMjAxMiAwNzo1NToxNCAtMDAw MApAQCAtNzksNiArNzksMTQgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBi bGlzdFxbMFxdLm51bWJlcgogZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBibGlz dFxbMVxdLm51bWJlciIgIjIiICJDaGVjayBicmVha3BvaW50IG51bWJlciIK IGdkYl90ZXN0ICJweXRob24gcHJpbnQgYmxpc3RcWzJcXS5udW1iZXIiICIz IiAiQ2hlY2sgYnJlYWtwb2ludCBudW1iZXIiCiAKKyMgVGVzdCBzZXR0aW5n IGJyZWFrcG9pbnQgYXQgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIGFkZHJlc3Mu CitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJweXRob24gYmxpc3RfbGVuID0g bGVuKGdkYi5icmVha3BvaW50cygpKSIgIkdldCB0aGUgbnVtYmVyIG9mIGJy ZWFrcG9pbnRzIGluIHRoZSBsaXN0IiAwCitnZGJfcHlfdGVzdF9zaWxlbnRf Y21kICJweXRob24gZ2RiLkJyZWFrcG9pbnQoKSIgIkNoZWNrIGJyZWFrcG9p bnQgc2V0IGF0IGN1cnJlbnQgZXhlY3V0aW9uIGFkZHJlc3Mgd2l0aCBzcGVj IG9taXR0ZWQiIDAKK2dkYl9weV90ZXN0X3NpbGVudF9jbWQgInB5dGhvbiBn ZGIuQnJlYWtwb2ludChzcGVjPVwiXCIpIiAiQ2hlY2sgYnJlYWtwb2ludCBz ZXQgYXQgY3VycmVudCBleGVjdXRpb24gYWRkcmVzcyB3aXRoIE5VTCBzcGVj IiAwCitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJweXRob24gZ2RiLkJyZWFr cG9pbnQoc3BlYz1cIiAgXCIpIiAiQ2hlY2sgYnJlYWtwb2ludCBzZXQgYXQg Y3VycmVudCBleGVjdXRpb24gYWRkcmVzcyB3aXRoIHdoaXRlIHNwYWNlIHNw ZWMiIDAKK2dkYl9weV90ZXN0X3NpbGVudF9jbWQgInB5dGhvbiBnZGIuQnJl YWtwb2ludChzcGVjPU5vbmUpIiAiQ2hlY2sgYnJlYWtwb2ludCBzZXQgYXQg Y3VycmVudCBleGVjdXRpb24gYWRkcmVzcyB3aXRoIHNwZWMgTm9uZSIgMAor Z2RiX3Rlc3QgInB5dGhvbiBwcmludCBsZW4oZ2RiLmJyZWFrcG9pbnRzKCkp ID09IDQgKyBibGlzdF9sZW4iICJUcnVlIiAiQ2hlY2sgYWRkaXRpb24gb2Yg YnJlYWtwb2ludHMiCisKICMgU3RhcnQgd2l0aCBhIGZyZXNoIGdkYi4KIGNs ZWFuX3Jlc3RhcnQgJHt0ZXN0ZmlsZX0KIAo= --e0cb4e59348a627b3b04bea69c7b--