From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69367 invoked by alias); 16 Oct 2017 18:33:52 -0000 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 Received: (qmail 69358 invoked by uid 89); 16 Oct 2017 18:33:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 16 Oct 2017 18:33:50 +0000 Received: from ESESSHC014.ericsson.se (Unknown_Domain [153.88.183.60]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 7F.F0.26775.C8BF4E95; Mon, 16 Oct 2017 20:33:48 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.60) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 16 Oct 2017 20:33:05 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.49.59] (192.75.88.130) by DBXPR07MB317.eurprd07.prod.outlook.com (2a01:111:e400:941d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.2; Mon, 16 Oct 2017 18:33:03 +0000 Subject: Re: [python] Allow explicit locations in breakpoints. From: Simon Marchi To: Phil Muldoon , Keith Seitz , "gdb-patches@sourceware.org" References: <04ccc2c4-7827-eedc-d8db-a83a0167acb6@redhat.com> <58311250-9ab1-39d1-99b6-07478bc8c2ab@redhat.com> <4768c7ad-cc3d-5702-fa93-40e9760d4ee8@ericsson.com> Message-ID: Date: Mon, 16 Oct 2017 18:33:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <4768c7ad-cc3d-5702-fa93-40e9760d4ee8@ericsson.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR1201CA0015.namprd12.prod.outlook.com (2603:10b6:405:4c::25) To DBXPR07MB317.eurprd07.prod.outlook.com (2a01:111:e400:941d::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f98cf0b-e320-4240-c1f1-08d514c45664 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:DBXPR07MB317; X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;3:WLpXk8GT4I3oAmgFLM6R3TFjyfaNEPYzuPIDaR8MAijA/ij9l2/5KFKytx6SzTp9qwDvNH/PBBk2ib4Y/ZM6iDohwnFKHj37n990PbjUaqON4KQ132evpYGVjOx5RCn77H5t4lBJC9ZiC8Wg26gyWUJEmGrxeeHTjZz9ZYOduHEXzLLq2dd5saH66tUeUWk8OeJvCYA2JFBc7B19es/LPdkhy6bGJcUEFx0/i7khNtx/TbSmjekgukyckYriMX1h;25:zCdG+PKFM/5r7iGxk3r23z/8vdisixhZ1IwRbGHy9HUmIgVbwk8Y3zcPV451fmYKTU+mBMF5BVIZrYBMpPRLEF/gHyzJWxOniGCD7MLdL5YDQdfBDIvgx9Z2P1Zm6ChhzqmSS3ra8AuD1vf7QSzUFrvJRxGx6+rOAAz3+KcmFCWN9Jj2cNaFcjyaHuAu/qIWhOG2Y+XaxiO3NTBSWUO2HugVbDRUv1SvXoYKbP2g9DdzhTnB+Hz4rbkX2kbU3yCVWDXCMCmn2ad4vduuuBtTFW3xd0AdyF/H5cwWU3ADJLQ2supCB+xk/4+86LCmgnnKUXoSQ9OGnBajmz84uQa73Q==;31:uYpg4UBqjydxbBEuUUiCCWb7yD2gmGc1/pHlt5/Y4q7yyinYXecvRxXhmz1OpJ9l6OGPpEbDXF0F3MTRmCsC+OgbNeZwSghOhT5clvraiX6f7WE43uTT7YzLmDqZufoc75hgUIVaypU5D5fLQXRfWZ90DuyANnD+uHLrwvIo02xm3ngVWfbYlPbf5Lqv8AzqZ8P/kbaRC07ai967KHcz+dEsn9pO/W5D0hhKTBgEUA0= X-MS-TrafficTypeDiagnostic: DBXPR07MB317: X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;20:u6/RdDqOARaAjcJLTAvJaF1krTDLhQozwKrBnISyZn+IuLVJbecj+hTBe+GplDxJTsN+WgrEpbCTNPWrvemrTJiRGjhD9j8iqiI26oAWVnmKYVn2UGc2CeUOITWWQv8qa9ZsyYAy8RT/Y0adVYlASVinfqRbjpa5bT1CsWNu/W7g0C0k0FAO/1E7Gu4/+mOjCQjw6K1BlULbdjeVhz5wksKf4MEQx5HzItO1vvBx42XEvX6DNc0I3Mbx7yahns9E/bj+JqP2zKfxT+juvDwhKKwuw1nLODMnwdeudY1U1RKQtLxITajkdzm2WxImMnou+f50XeZAOwgouxr6eaUlDALSl+hjlfHny4Oy1Jz28Zl+pzGIqMeOhOk6iN8rFhtZsmJwhq8fP5NPUZg31lHTAI5d+Q5OtWP52p0YCzPHDOgJhAGGjAFAnuOg2SZefTx2+flkhwp4ORLoXQy27CaLzVt29xady+qOZf3aOG84T5JfVGrqiTTogGBY+5FkjjUq;4:gp1iVrx9oBdHnxix9IPBB8/hxlCSyhk+JX7FAzn1L318TurhL4fhOjBe1qTSfjCAeBPa9BoCbn93J+VpBSECyLNhmMcvMHq6N5S5M9VoeMt28/Ft3tyygv+4sBVw0RZS708UBmRN/R0pcsh9OqAseAjide9u3YjcnNMt1B53fbawIhiHsAlM6Z21oHhKpLVC7dSMAsDPa8KqIUP3oyyx5XQZVO6R3lybqD8D9qhd7RvpyYI98oM7azmukEW6VrB4 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DBXPR07MB317;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DBXPR07MB317; X-Forefront-PRVS: 0462918D61 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(376002)(346002)(39860400002)(199003)(189002)(377424004)(377454003)(24454002)(97736004)(81156014)(86362001)(36756003)(81166006)(53936002)(16526018)(31686004)(4001150100001)(23676002)(189998001)(230700001)(8936002)(58126008)(8676002)(305945005)(65826007)(64126003)(229853002)(53546010)(83506001)(2950100002)(16576012)(6666003)(6486002)(5660300001)(316002)(93886005)(2501003)(7736002)(110136005)(50466002)(25786009)(65806001)(101416001)(47776003)(65956001)(66066001)(49976008)(478600001)(6246003)(3846002)(6116002)(50986999)(76176999)(54356999)(33646002)(31696002)(2906002)(68736007)(105586002)(106356001)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR07MB317;H:[142.133.49.59];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQlhQUjA3TUIzMTc7MjM6WmJKdEE3c05SblU3UFNnTVBKOEZqbU1TMklP?= =?utf-8?B?TUFzOWd2Q0dyV1pQOXl4dnJ6b2lHcmE2WUZtL1lQa1krckFobHhnR2oxOU1I?= =?utf-8?B?cHFXcFQ1VWU2OXZIamtFcFZSMFF5SThTQW5SU2F3Q1hWUVNoL2NJY1VXVjJT?= =?utf-8?B?MlUrQlhWdWlHUFoxYzVYLzlDTzMwSGgyTU9VSW4vcjVYd08yU2hJYzVGZjcv?= =?utf-8?B?VnJ3UUZiMlo5T3RZajdkN2NHSTE0T3VPcjQ0RHJBenhaUGN6SHoyZUFTc1FJ?= =?utf-8?B?aldPQ2xKbTZsVXQrU1loalNmTER5c2RNTGpTekVPclEyTEwrQmdIQWFQSWpO?= =?utf-8?B?ZkdlbGE5eDJBMXhBRzJqdGY5YlQ5LzJmQW5zMFBlZ0hJTUlGNjI0Y3pmWFlu?= =?utf-8?B?ekVxMkdhTVlwYU1LUUpiTVJyZDhuM1hPSjJWT3plUDExcWZXc1d4U0RJSkRh?= =?utf-8?B?bUFhWVBRVmo3Tjkyc3A4TElRSTBuNGdBQUw3VFp2NE01YlMrSmxMVDlmcWEx?= =?utf-8?B?Qlk2TktHN1BIbVZrN0pzQy9nZUo4eDFZWmpkaXdsRlUrOXpOMDBMY0d6ZDZK?= =?utf-8?B?dUN5U01lV3R5Q0RadDV2OSs2NnVBdEdCMWZoMERsamEySXZ6a2hoNG9xd2pM?= =?utf-8?B?aXlPbEdYWk9semI3VmpYREowQjFUemRGSXB6UmNXOTBZTWFGZWJ5UU1NQ0kr?= =?utf-8?B?Q0lPd1NZaElLUW1KbXZYaEd5c0JlM2xjZnkwcTJZWW4vazkraXVOS2JwMXk5?= =?utf-8?B?ZjdWZEYzMm5KWHc1eHZUOTI2c1hMd1lzVzlkeXlPTTFvR3Azam9CZjFhZEI2?= =?utf-8?B?bktsNU4zYWRoVzFrUmtLcTIydStFdmFxY2Z0OHFQTVg5MkROSElGakFMSTZS?= =?utf-8?B?YkhLbVlDbEZwbVdEdnFGc3ZKeEgzdVZ4SmlVdUJSUkJFc1Z1cHFxYkVjdyth?= =?utf-8?B?dWlvSTl5QVhueCtnTFRJc0dEL0I1aitvMURZc0JDT1l3ME81M2psa2xOa1JQ?= =?utf-8?B?R0dLRjJtY1NsNEV2ZS9RNDhuS0U2SmpBcE1qcGc0SjJLcDUrRmswdGhuck90?= =?utf-8?B?aHhRb1A0KzdsYkhXekJ0RXpEbVhWMTNtS1BjOUFOZWp0cmQ1UkhXeXU5cEZZ?= =?utf-8?B?NHErYkN6VlpHTjB5YTMyNHdNNC9hUkUxME1FUlJEdWV3bXNLc3JUQkg2dWZP?= =?utf-8?B?VndkVHY4cU1CaUZKNWlvMlBySG9xUHA1SDdCZWRoZ3VwdVMxRGlIUW1EVkRS?= =?utf-8?B?U21rSE1SeC95MWp4bDF5QjJQb1dUY2Nta0ZDN0ZTUE9XZUdCYTJ6aVZsYWF4?= =?utf-8?B?alQ5bTFvL1pub0dwUXUyU2ZCL2V2a3RqVm9sM0tXMW5meEhDck9vTW1uUVdH?= =?utf-8?B?L0tuWEVkYUFrWWdrQS93UTJzVHcxWjdwWGM5Ujg5Y1ZvdFcrNjl5YUpucGRu?= =?utf-8?B?NkluNXJjVk9Lc3FiR1hQcEJHWlZzdnIzUW0xTitsOTQzdzlYWkpmM3p6dDFq?= =?utf-8?B?akhhV04yak54cUJSby9YUHpCTzBheUxjUm9DK2xJUFlqRFYxemtSSnJLa2Rs?= =?utf-8?B?Sk5jLy9wWHMwYzc5dUR4cmZIbDIwZU56KzdWa0RBK1JtVVpxcXl2ZmJEWXlN?= =?utf-8?B?Q0VobktSMzc2TWdXeE8vVW5qYWhZeEhaNlhxMXJ0TCtFeUhEZEg0ZTJENFZX?= =?utf-8?B?RitKWnZnLzVHalFjRjJiNktpZk9FRlkyakI4TmhrTk0rVGlJTU1sQkFMN0hJ?= =?utf-8?B?U1Q1UFVYQjJoNUtwVmhOOXJ3aUhDSmJJWWhUUExZUlBmZVZtOEVNSUo3dk9o?= =?utf-8?B?Q2JNUUd1dFBCaytmcmdsUmtMdDZ6S1pFeHF0Tnl4em9KOHcyNDI3bGhjejBJ?= =?utf-8?B?eEJaYzRTeVg2UkNWYVF2QS9aN1ZrNlNCZDRvV0svQ3U1WjhzWWFWQWNKRnFw?= =?utf-8?B?MFE3WCt3cTNuOXliTG50ZWk0ckhhVldaMGJWa1Y3cDNOdVR2UEtFQTZ3NnQ1?= =?utf-8?Q?pH0I2?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;6:O+phy+lnKb2MgCoDVPW6cxpT5EtRuZzPh3KQhdGEBfRBlidDs7mMXxKWuJbXthjKo2iwMMZW42PTyHi4mjQ2KpEa4fo14X8Jega02CnqFFjcRRvrfCKHdtzuOGS0HAfcHF3R5MSVZX+20BQYOY5QuLmQcVCky6teC5Pz6KE8KD8T999s0FhVEpMD2FN7lcuM54HClKUixeIcQdCkn3ndhCREWZqQ0Mejyg3I41W/7GfvPbEzvW/uM9vNHkHjjStEDV9BmEff37BHJX5aHYjMRHgTnPEPTZpdoDDzigbFfrp2k2VwVNgmZ48UaPuR286sXIe0P6CEMaNv0zBuZ7bAXQ==;5:Sfa8tmr82ojNaFDlW/3p9Yu+OGbZ++l/edN2OzjGahXKWgoQtEikZGyYlqzMtJuunKvBZ30kH5C4PiiOBz/u2nuGTNWIQX9i/+0BJe2wEvXS7LIHLCBLsGRILrh+mORkNgTutX6g9ybxWjFvJ3o/+EzIuoH/XZdzSgzwDArE3j0=;24:vGb4egiQ1WPmrlH+y3Wp+Ad77SYHECj1BImhfEAopbVwicmux801LS7E+xwvPhO8ibEpd8quGCoYbdxv4IQG78NO7tKCIDMO/0cckWqj5Zs=;7:640Ew5m16V9nGklp4rtwU4B+BZmc6TlzAQbfoMrrXQxRJ+s7rS2dAY3/RrGw2pH11PE1gx52SAZyGf+wLrbI44otADkFb23qH8ZsGs9013c1U3jg94KMqPcdAwTPaaA6LpT4r0v8ephO7q359dJTI9IfpqQMBiL5myFUQOUi5HNIoW5gpNzwPzO/geM6o4NnC/Q4iQl6M5vTm/UiAL9YrVFnEzd0QWko52H9vgd40ZA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2017 18:33:03.2445 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f98cf0b-e320-4240-c1f1-08d514c45664 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR07MB317 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00456.txt.bz2 On 2017-10-16 02:23 PM, Simon Marchi wrote: > I think for Python it would make sense to support the two paradigms. If you > are writing a Python command that ends up installing a breakpoint, it would > be nice if you could directly pass what you received to the gdb.Breakpoint > constructor and have it parse it (including explicit locations). For example, > > (gdb) special-break -file foo.c -line 17 > > But it would also be nice to have a keywords based API, for when the line/file/function > information is already split. It would avoid having to build an explicit linespec > string just to have GDB parse it after. > > In terms of API, I think the "spec" argument could be mutually exclusive with > the function/file/line/etc keywork arguments, which would be added. An error > would be thrown if you try to use both ways at the same time. > > About the line="+3" issue, because this is Python, the line keyword could > probably accept integers and strings. And if it's a string, there could > be some validation on the format. > > Simon Btw, if we went with the idea described above, I think your patch would be acceptable as-is, and the work to do add keyword arguments could be done separately (by you or somebody else). Simon