1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

123 commits

Author SHA1 Message Date
Marc Khouzam
c2468b0c14 [248636] Changes to the memory cache to allow to keep it private. 2008-10-10 20:07:27 +00:00
Marc Khouzam
4edaf1587b [248636] Adding --thread option to the MI memory commands for GDB 7.0. This change was done in provisional classes to allow for changes, but required the use of a GDBMemory service. 2008-10-09 19:21:24 +00:00
Marc Khouzam
8b1606795a Use of the wrong plugin class. 2008-10-09 13:48:21 +00:00
Marc Khouzam
f0a59c85a5 [246773] Moves the class MIRunControlNS to GDBRunControl_7_0_NS which is provisional. This is because we are doing the API freeze and I didn't want to have MIRunControlNS frozen, since this bug will probably remove it. 2008-10-08 20:16:33 +00:00
Marc Khouzam
405b19f8df [249227] we are not quite ready with the "verbose console feature", but since I had the changes needed to add the option in the launch, I figure I'd commit them. Once we have the feature ready, we'll just have to hook them to the launch option. 2008-10-06 18:53:15 +00:00
Marc Khouzam
be2a572842 [241317] Because GDB/MI is not ready to support multi-process for every context we have, I have reverted back to changes.
I have moved ISymbolDMContext, IBreakpointsTargetDMContext, ISourceLookupDMContext,
ISignalsDMContext, IDisassemblyDMContext back to GDBControlDMContext.

Maybe later, depending on GDB's final solution, we can move things back.

So, GDBControlDMContext is no longer an IMemoryDMContext or an IContainerDMContext.  Those interface are implemented by GDBContainerDMC.
2008-10-06 18:39:30 +00:00
Marc Khouzam
9920518e26 [245749] Make the IMIProcesses service deal with the threadId to groupId map to allow for other parts of the code to have access to this knowledge. 2008-10-06 17:41:55 +00:00
Marc Khouzam
352badaaf3 [239050] IProcesses interface enhancement for runNewProcess() and debugNewProcess() to also take a Map of attributes to allow for flexibility in starting a new process. 2008-10-03 19:45:58 +00:00
Marc Khouzam
81d3982175 [239050] IProcesses.runNewProcess() and IProcesses.debugNewProcess() should take a context as a parameter to know which command control the command affects. 2008-10-02 18:24:00 +00:00
Marc Khouzam
546864ed77 [243586] Return an error in the case thread info cannot be found, but have the ThreadVMNode create the label without that information. 2008-10-02 14:01:22 +00:00
Marc Khouzam
9779064e4d [241317] Retrieving the Processes service must use a generic interface to allow for different versions. 2008-09-30 20:26:44 +00:00
Marc Khouzam
51d56390ca [202353] Clean up the launch features we don't need as per discussion at the CDT summit:
1- "Advanced..." has been removed
2- "Stop on shared library events" has been removed
2008-09-30 14:09:59 +00:00
Marc Khouzam
98ff95d570 [202353] Support for the launch to tell GDB to stop on library events (usually load/unload.) 2008-09-29 15:16:45 +00:00
Marc Khouzam
7d97e3d053 [241317] Moved contexts interfaces from GDBControlDMContext to GDBContainerDMC.
[244385] Fixed all GDB JUnit tests (except the one in breakpoints that we know still fails with GDB 6.8)
2008-09-25 17:52:54 +00:00
Marc Khouzam
19db5c51b8 [239050] The method debugNewProcess() should actually return an
IContainerDMContext with the IProcessDMContext as its parent, since the debugger is attached to the process.

We had agreed to keep IRunControl contexts out of IProcesses, so this patch
simply allows debugNewProcess() to return any context (IDMContext.)
2008-09-22 19:43:11 +00:00
Marc Khouzam
1efdaf305a Fix comment 2008-09-22 18:22:15 +00:00
Pawel Piech
c88706272b [247362] - [commands] -thread-info parsing not consistent with existing API. 2008-09-18 22:36:52 +00:00
Marc Khouzam
88969aa247 [247345] Name changes:
- IMIExecutionGroupDMContext to IMIContainerDMContext
- MIExecutionGroupDMC to MIContainerDMC
- createExecutionGroupContext to createContainerContext
- ExecutionGroupStartedDMEvent to ContainerStartedDMEvent
- ExecutionGroupExitedDMEvent to ContainerExitedDMEvent
- makeExecutionGroupDMCs to makeContainerDMCs
- bunch of local variables groupDmc to containerDmc
2008-09-18 17:58:29 +00:00
Pawel Piech
f88b03fbd0 [247356] Use API tooling. 2008-09-15 21:31:37 +00:00
Marc Khouzam
0fb7dec635 Bug 245749 In the end, we decided to isolate the threadId to groupId map into the eventProcessor, and not crowd the IMIProcesses interface. 2008-09-15 19:42:12 +00:00
Marc Khouzam
2552eacead Bug 247161 According to a GDB maintainer, GDB will not send an ^error after a ^done. Therefore we can remove this case and cleanup. 2008-09-15 17:48:40 +00:00
Marc Khouzam
31aeb7bca9 Bug 245749 Avoid race condition by filling thread to group map of IMIProcesses service directly using new addThreadId() and removeThreadId() methods 2008-09-12 15:17:54 +00:00
Marc Khouzam
fbb2135214 Bug 242234 creates GDBControl_7_0, CLIEventProcessor_7_0 and
MIRunControlEventProcessor_7_0.  It also reverts CLIEventProcessor and
MIRunControlEventProcessor to the logic needed for a GDB pre 7.0 (the way we released it in 1.0)

MIThreadExited and MIThreadCreated events are now only issued once.

Running events are also issued only once, however, it needed a little
gymnastics to keep the same functionality.  Before 7.0, what we did was trigger the event once a continue, step or next command was executed; this allowed to also know the type of command that caused the running event.  With the new MI event "*running", we don't know the type of the command that caused it.

What I did was, like before, when a continue, step, next command is issued, I
store the type of the command, and once the *running event occurs, I use that
type.  I do this using a global MIRunControlEventProcessor_7_0.fLastRunningCmdType

When issuing such a continue, etc command through the CLI, we still need to somehow remember the type of the command.  This is under discussion in the bug.
2008-09-11 19:36:56 +00:00
Marc Khouzam
56adb58e42 Bug 242234 To be able to version the GDBControl service, we cannot make direct reference to the class GDBControl. That class contains a bunch of public methods however. What I did was to brute-force include all these methods in a new interface IGDBControl. I have then replaced every reference to GDBControl with IGDBControl.
Also, I have moved SessionType out of GDBControl and into its own class.
2008-09-09 18:58:09 +00:00
Marc Khouzam
168df99385 Bug 242234 Replacing AbstractMIControl with ICommandControlService; and also replace MIControlDMContext with ICommandControlDMContext 2008-09-09 17:55:44 +00:00
Pawel Piech
67b41fa70e [240997] Changed the return type of IMIDMEvent.getMIEvent() to Object to avoid future compiler errors. 2008-09-08 21:13:42 +00:00
Pawel Piech
c48cd231b5 [240997] - Additional fixes for generics related javac compile error. 2008-09-08 19:06:43 +00:00
Marc Khouzam
4c7c1efdb3 Bug 245297 All views' refresh should clear their
relevant services cache
2008-08-29 02:31:56 +00:00
Marc Khouzam
bd90222c77 Bug 244385 Fixes to some tests that were failing. 2008-08-25 19:38:20 +00:00
Marc Khouzam
581b6804ba Better pattern matching for GDB version 2008-08-21 18:23:59 +00:00
Marc Khouzam
4be124e46d Enabling the instantiation of the GDBProcesses_7_0 service. 2008-08-21 18:00:57 +00:00
Marc Khouzam
587c7cb6cc Bug 244567 makes the project optional. The bug I was attributing to the platform, was, as Pawel kindly pointed out, was actually part of our CMainTab class. I have fixed this. 2008-08-21 14:02:54 +00:00
Marc Khouzam
5799b5a2a0 Bug 244749 We didn't display the proper process name after a local
attach.  This change fixes this by storing the process id of the inferior after the
attach is completed.
2008-08-20 20:26:39 +00:00
Marc Khouzam
0ea73d63b0 Bug 244567 Make the executable optional in the Main launch tab, when doing an attach session.
The project is still mandatory for two reasons:
1- platform does not allow an empty project
2- Source lookup was not able to find the code with an empty project; since the platform did not allow for an empty project anyway, I did not investigate the
source lookup issue.
2008-08-20 19:28:14 +00:00
Marc Khouzam
69293447e9 Bug 244467 Add a checkbox to specify if the solib-search-path should
be used to debug processes; in such a case, we don't send the 'file' command.
2008-08-18 19:40:56 +00:00
Marc Khouzam
d761fa884e Bug 244456 Changes the class GDBMultiProcesses to GDBProcesses_7_0 so as to reflect which version of GDB the new version of the service is meant for. 2008-08-18 17:51:11 +00:00
Pawel Piech
cd9ffceeef [243611] Make the context type for GDBControlInitializedDMEvent and GDBControlShutdownDMEvent events, more generic. 2008-08-18 17:23:34 +00:00
Marc Khouzam
eba5a5fe78 Bug 244336 Use the new --thread/--frame in a centralized location. Added supportsThreadAndFrameOptions() to MICommand to allow subclasses such as CLICommand and RawCommand to override and rely on -thread-select and -stack-select-frame.
Cleanup of MICommands that had --thread/--stack implemented directly in the class.

MIStackNS is no longer needed, and its only
remaining difference (checking if the thread is suspended) has been merged into
MIStack.
2008-08-18 00:37:33 +00:00
Marc Khouzam
f5c6039248 Bug 244053 Until this bug is resolved properly, it is better to set the default for breakpoint applicability to global. 2008-08-13 19:12:04 +00:00
Marc Khouzam
39644e1d06 Bug 242105 Turning on non-stop on a remote target requires a slightly different command. Also, GDB pagination must be turned off to avoid blocking during non-stop. 2008-08-13 19:09:49 +00:00
Pawel Piech
ba200cd3b7 [243611] Added ICommandControlService to list of interfaces used to register GDBControl. 2008-08-13 17:19:34 +00:00
Marc Khouzam
eeb6b080ef Bug 240507 Fix the cache for the GDBMultiProcesses service. Also clean up the use of thread-info 2008-08-11 13:02:51 +00:00
Pawel Piech
1fbfd51fac [243611] - [commands] Add an ICommandControlService interface. 2008-08-08 17:42:23 +00:00
Marc Khouzam
55a4d47017 Bug 240507
Adds a GDBMultiProcesses service which uses the new GDB -list-thread-group commands.  Also adds some support for =thread-group-created/exited events.

Since the public GDB is not ready yet, I have commented out the instantiation of this new service, for now.
2008-08-06 13:39:49 +00:00
Marc Khouzam
0d74c407e4 Bug 243216
MIGDBExitedEvent was listened for but never issued.   Replaced with BackendExitedEvent
2008-08-05 19:15:02 +00:00
Marc Khouzam
c227d7fbf1 Bug 239050
More use of IProcesses.  In the weekly meeting, we had agreed that the RunControl service would make use of IProcesses to list executionContext.  To do this, it is the IProcesses service that will now create the MIExecutionDMC, which is newly declared in MIProcesses.  Doing this I was able to get rid of IMIRunControl, and I introduced IMIProcesses.

Also, we agreed that all RunControl use of IProcesses should be kept out of MIRunControl and put only in GDBRunControl.  This is because other backends using MI will probably need a more sophisticated Process service.  I still have to move the use of IProcesses out of MIRunControlNS

I also cleaned up the RunControl and GDBProcesses unit tests.

I also started spreading the use of a String as a ThreadId, while keeping things backwards compatible.
2008-08-02 01:15:51 +00:00
Marc Khouzam
133ac134ee Bug 241844
Adds the started and exited events when attaching and detaching from a process.
2008-07-31 02:47:36 +00:00
Marc Khouzam
c928924a21 Bug 229288
when using GDB6.6, if the solib-search-path is used, the launch will fail because the -gdb-set sysroot command will fail.  The concept of sysroot seems to have been introduced with GDB 6.7

Let's comment it out since it was used only as a safeguard.
2008-07-30 14:54:21 +00:00
Marc Khouzam
d6faf244f9 Bug 241985
Made ServiceFactory accept a variable number of arguments to allow for different constructor signatures for services.
2008-07-29 19:55:29 +00:00
Marc Khouzam
475a55a1e4 Bug 241985
Cleanup of GDBControl constructor
2008-07-29 18:25:42 +00:00