1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-07 02:23:18 +02:00
Commit graph

154 commits

Author SHA1 Message Date
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
d86c2f8bcb Bug 243461 Removed commented out code. 2008-09-12 17:23:01 +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
Pawel Piech
2fe6ba6149 [246763] - [debug view] Debug view missing an update after running the program 2008-09-09 21:33:16 +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
1253a42f62 [240997] - Additional fixes for generics related javac compile error. 2008-09-08 19:41:32 +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
Pawel Piech
9384592322 [245297] - [non-stop][cache] Caching may not be possible in non-stop mode 2008-08-27 21:43:59 +00:00
Marc Khouzam
4bd72a218e Bug 245294 The cache is no longer used in MIRunControlNS and can be cleaned up. 2008-08-26 18:33:46 +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
1516391033 Bug 244385 Fixes all the tests except the Memory tests.
The problem was actually that the tests were not using the proper context when
querying the services.
2008-08-18 17:37:18 +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
518693304f Small fix to avoid showing an pid of 0 in the debug view when only running one process 2008-08-17 19:14:36 +00:00
Marc Khouzam
c26e38fedc Bug 243632 There was a typo in the code for resuming all threads. 2008-08-14 20:12:51 +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
Pawel Piech
c63f94e691 [243899] Commented out the call to terminate() until the exception it throws can be investigated. 2008-08-12 16:00:12 +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
6497fcf2f7 Bug 239050 I was finally able to get the cache working for the MIProcesses service. And for both non-stop and all-stop mode.
Basically, the cache of this service is used for container-level commands; therefore it should only be made unavailable/available on Container events.  In all-stop we issue container events, but not in non-stop.  So, everything works.

Furthermore, I only clear the cache when threads start and exit.
2008-08-07 20:30:16 +00:00
Marc Khouzam
7c7d4c5918 Bug 243461 Other logic that had to be done when receiving the DSF event instead of the MI event. 2008-08-07 19:17:55 +00:00
Marc Khouzam
cf852997b6 Bug 243465 and Bug 243461 Furhter cleanup of events in non-stop, as well as proper processing of state change on the DSF event instead of MIEvent 2008-08-07 18:04:50 +00:00
Marc Khouzam
be5c3679cb Bug 243465 Removes the sending of Container events in non-stop mode 2008-08-07 17:37:42 +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
fef4792098 Little bug that I don't have a fix for, so I put a comment for now, so that we don't forget. I didn't want to write a bug since we already have a bug for the cache about this. 2008-08-02 02:24:47 +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
5c1533d934 Fixed class comment 2008-07-31 01:34:01 +00:00
Marc Khouzam
8a7f805c57 Some API breaking changes slipped in during the non-stop effort. These changes were not needed so I have reverted them. Mostly it is about protected classes becoming package-private. 2008-07-31 01:21:10 +00:00
Marc Khouzam
cb49d0ed44 Bug 227183
Adds the disconnect action.  It is kept disabled though, because it is still missing events which must be generated when we connect and disconnect.
2008-07-29 17:12:19 +00:00
Marc Khouzam
f1f4d7cb2a Bug 241423
Added a connect action to the debug view.
2008-07-29 00:43:30 +00:00
Marc Khouzam
85fd860849 Should use createMIExecutionContext() instead of calling new MIExecutionDMC directly. 2008-07-27 18:44:07 +00:00
Marc Khouzam
3b749fe80a Bug 242105
When non-stop mode is requested by the user, the FinalLaunchSequence now issues:

maint set linux-async 1
set breakpoint always-inserted 1
-gdb-set non-stop on

Ultimately, with the official GDB release, only the last command should be needed.
2008-07-27 18:12:42 +00:00
Francois Chouinard
15070bcc55 Hacked threadId for non multi-thread applications. 2008-07-27 18:05:39 +00:00
Marc Khouzam
1c0440682f Bug 242114
Make the new MIProcessDMC, MIThreadDMC, MIExecutionDMCNS and
IMIProcessDMContext private.
2008-07-25 20:32:08 +00:00
Marc Khouzam
0db5876d62 Bug 239050
This patch adds more usage of the IProcesses service.  I believe the patch is
backwards compatible with our 1.0 release (not with the latest HEAD).  The
patch does the following:

1- cleanup context hierarchy to become:

                                          MIControlDMContext
                                                    |
                                           MIProcessDMC (IProcess)
 MIExecutionGroupDMC __/         |
   (IContainer)                               |
        |                                  MIThreadDMC (IThread)
  MIExecutionDMC  _____/
   (IExecution)

Notice how I put MIControlDMContext at the top.
The create*DMC methods have been updated accordingly.
The constructors of the MI*DMC classes have been updated accordingly.

2- Deprecated GDBRunControl.getThreadData() and GDBRunControl.getProcessData()
and have GdbThreadFilterEditor and ThreadVMNode use IProcesses instead.

3- because of (2) I was able to remove IGDBRunControl and GDBRunControlNS
completely.

4- Made MIProcesses.getExecutionData() fetch the thread data using
CLIInfoThreads as is done (but deprecated) in GDBRunControl.getThreadData()

5- Added a cache and event listeners to MIProcesses to cache CLIInfoThreads.

6- Update MIRunControlEventProcessor and CLIEventProcessor to use
MIControlDMContext as their top context instead of IContainerDMContext
2008-07-25 19:37:00 +00:00
Francois Chouinard
2bbc19a848 Default GDB thread ID 2008-07-25 16:15:55 +00:00
Marc Khouzam
b7310ff5db Bug 239050
Broke compilation because I forgot to implement the new methods added to IProcesses.
2008-07-25 16:03:54 +00:00
Marc Khouzam
bbe916cd1a Strings must be compared using equals() and not == 2008-07-24 19:52:42 +00:00
Marc Khouzam
16f4e3cc61 Bug 239050
Added methods to check if an attach or detach button should be grayed-out
2008-07-24 13:52:48 +00:00
Marc Khouzam
a0ce9be8f4 Bug 239028
This change to MIRunControlEventProcessor does the same thing as before, but it avoids me having to deprecate an old method and create a new one.
2008-07-23 19:13:58 +00:00
Marc Khouzam
c1f6612245 Bug 239028
This change adds support for multli-process debugging although we are still using the single-process GDB.
With this fix, our debug session will now be in a multi-process situation, with only one process being debugged.  At this point, there should be no visible changes in the debugging experience.
2008-07-23 17:49:01 +00:00
Francois Chouinard
593106d158 Patch for non-stop multi-threading 2008-07-22 19:19:48 +00:00
Marc Khouzam
2a48c0efbd Bug 240525
Updates CLIAttach and MIThreadSelect.
I didn't update the usage of MIThreadSelect because it required more cleanup than I cared to do at this point.
2008-07-18 15:09:06 +00:00
Marc Khouzam
cd35d1037b bug 239050
Added  @Deprecated to a type that was moved out to its own file
2008-07-18 14:22:07 +00:00