Community
Participate
Working Groups
I added support for fast tracepoints in Bug 346320. This required adding an option in the launch Debugger tab to choose the type of tracepoints to be used. It bothers me that this is always visible, when some people never use tracepoints. We really should hide it when the C/C++ Tracepoint actionset is disabled. I haven't figured out how to do that yet. Using the IContextService seems to be the way to go, but the activeContext change after the launch dialog is popped up and I can't tell if the C/C++ Tracepoint actionset is enabled or not. Details: What I tried was to have GdbDebuggerPage call IContextService.getActiveContextIds and check if the C/C++ Tracepoint actionset is enabled. That worked well at first. However, as soon as I changed the selected launch, it didn't work anymore. The reason is that when the launch dialog is first started, the call to IContextService.getActiveContextIds() is made before that dialog is up, and we get the list of activeContextIds. But when changing the selected launch, the launch dialog is already open and the call to IContextService.getActiveContextIds() returns a different list. I believe that is because the active context are not the same when a dialog is open. The idea I have now is to have a global variable that will be set to the enablement state of the C/C++ Tracepoint actionset. Then, GdbDebuggerPage can check that variable to know if it should show the "fast vs slow" option or not. The problem I have with this, is that I haven't figured out how to get a notification when the actionSet enablement state changes.