Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] API for Changing breakpoints
  • From: Eugene Tarassov <eugenet@xxxxxxxxxx>
  • Date: Wed, 4 Nov 2020 18:42:08 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xilinx.com; dmarc=pass action=none header.from=xilinx.com; dkim=pass header.d=xilinx.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Wr2kufRzdcekvHlrCU6Iscio+t78m9sRQmbbDIYN+no=; b=TeKIqW8oGvaYGiKvf1WRsW02gnKoj9F5DS+VnsFgKcl3Lx/nBU8jNhAbMFeI8XSZa7zxUtDBCgAKODqrGj8D+2HOKp4wc97a0GadN1OQDP1y0BKptp+IA6W1wHfbYVTa9mHPZ1cmibnWBr6b7NEv7NwwiWkbvt2p4hhWeAm8vCctoYhHKfQKieZF6vXX1ABlQEoTLGqI2bnZJzaBg3xrQZkmDtm6HhwZsgSYyMXQjELnA+LLtQEMNexq0XiTNrj68ZId7ce8Fl2hVSolALdDzeaKUDhpO97h2QpbJFAcG2Ni7meYRIhDTbIwm5P+t/Eybu3fzyFwdn40eoNHHL7I8Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+9cgAbzEcMLiICbNfcLFEcp65NnGET9EkJBfLLCjcxojjVuM3NN0YbT0XdEXZ36HACbNIOzKnkmDYpdrH9sCIeRA2loialpAWDT2hB8+oYk2dxCIuEJC6+L/wYPjiy41KLNNoKE9pkvcOaeMQKli3FGjojTBkZEboDF1jqpXa76Wyuj7MGap17/dWJOWWGTFvoYFJm4NnnTj+d32+i7x5T3wGh+GD1wLrkzfuEksuZ85Vg4HbFgeSFkUqjBQiQLKbSerd0NrftZSHun8kpQVujUQAMfcVePorarOciDm48fAfvpc+zGttrDPJhKjyBpzwRpLu8HOg3UBeGPVAzhCg==
  • Delivered-to: tcf-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/tcf-dev>
  • List-help: <mailto:tcf-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHWspc3IPGOMHTUXU6mPhDyCH5++Km4QjbQ
  • Thread-topic: API for Changing breakpoints

Hi David,

Regardless of how change_breakpoint_attributes() is implemented, it cannot be used to send information back to clients.

In the Breakpoints service, by definition, data sent from a client to the service is called "attributes", data sent back from the service to the client is called "status".
To report "unplanted because of reset" state you have to use "status" functionality of the service.

Actually, with proper implementation of the debugger back-end, it should just work without any changes, like this:
1. when target reset is activated, back-end sends "context changed" notification
2. on "context changed", the Breakpoints service tries to re-plant breakpoints and gets "Reset" error from the back-end
3. the Breakpoints service sends breakpoint status with "Reset" error to the client
4. client GUI shows a red overlay on the breakpoint icon, with annotation, which says "Cannot plant breakpoint: Reset"
5. when target reset is deactivated, same sequence without error.

Regards,
Eugene


-----Original Message-----
From: tcf-dev-bounces@xxxxxxxxxxx <tcf-dev-bounces@xxxxxxxxxxx> On Behalf Of Wilson, David
Sent: Wednesday, November 4, 2020 8:37 AM
To: 'TCF Development' <tcf-dev@xxxxxxxxxxx>
Subject: [tcf-dev] API for Changing breakpoints

CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.


Hi All,

I would like to discuss an API change for the breakpoints service.

First, let me describe the problem - on intel x86 platforms - when the target is reset, certain types of breakpoints will become unplanted.  I need to reflect this, both in the clients.

I would like to use the exposed iterate_breakpoints and change_breakpoint_attributes functions.

For this to work, The BreakpointInfo struct will likely also need to be defined in this header (to implement the custom callback).


The problem is, I am finding the change_breakpoint_attributes function to not function as (I) expected. In the set_breakpoint_attributes that is called from change_breakpoint_attributes, If I just give the new attribute (i.e. no list), it seems to only store that attribute, and remove all others.

Otherwise if I give the complete list, with one attribute changed, let's say BREAKPOINT_ENABLED to False, it seems to unset all parameters (such as ID) that have not changed. Am I using this function incorrectly?  Even then, it still does not seem to unplant the breakpoint in the GUI (i.e. the client).

I get the functionality I want by doing the following - looping through all breakpoints: on each breakpoint:
set_breakpoint_attribute -> replant_breakpoint -> send_event_context_changed on the breakpoint.


This is the behavior is what I would expect the changed_breakpoint_attributes function to do, but does not seem to be the case.

Any help is much appreciated.

Kind Regards

David Wilson
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928

_______________________________________________
tcf-dev mailing list
tcf-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tcf-dev


Back to the top