Skip to main content
summaryrefslogtreecommitdiffstats
path: root/debug
diff options
context:
space:
mode:
authorAlain Magloire2004-03-16 20:03:56 +0000
committerAlain Magloire2004-03-16 20:03:56 +0000
commitf3a9fae6384fd8bb36474b1661bb6d0b65b38d5f (patch)
treed93fc1e2d0d8d2b050f62125385d46454f34cd80 /debug
parenta46dca30a1d4d14f172cf600f6c6a17deb813ae6 (diff)
downloadorg.eclipse.cdt-f3a9fae6384fd8bb36474b1661bb6d0b65b38d5f.tar.gz
org.eclipse.cdt-f3a9fae6384fd8bb36474b1661bb6d0b65b38d5f.tar.xz
org.eclipse.cdt-f3a9fae6384fd8bb36474b1661bb6d0b65b38d5f.zip
Major patch from Tanya to extenalize strings
Diffstat (limited to 'debug')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/ChangeLog2173
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/ChangeLog-20032151
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java52
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.java38
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.properties33
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java26
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java64
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java24
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java32
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java12
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Session.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java34
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java36
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java128
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ThreadManager.java34
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java48
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java7
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java3
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java53
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java11
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java5
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java29
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java11
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructType.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIExecArguments.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowDirectories.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowSolibSearchPath.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIHandle.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSharedLibrary.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoThreads.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIJump.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MISignal.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MITargetSelect.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarDelete.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarSetFormat.java10
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarUpdate.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIBreakpointHitEvent.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIDetachedEvent.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIRunningEvent.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java10
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIAsm.java16
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIConst.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIDataDisassembleInfo.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIEnvironmentPWDInfo.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIPTypeInfo.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIRegisterValue.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIStreamRecord.java8
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarShowFormatInfo.java10
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIWhatisInfo.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java60
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/EventThread.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java32
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java24
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java72
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIException.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIInferior.java6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java58
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPluginResources.properties7
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MISession.java16
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java42
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/TxThread.java2
82 files changed, 2801 insertions, 2708 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
index a25c4b8e90f..458087f2d0c 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
+++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
@@ -1,9 +1,29 @@
+2004-03-14 Alain Magloire
+
+ Break the ChangeLog file in two.
+
+ * ChangeLog
+ * ChangeLog-2003
+
+2004-03-14 Alain Magloire
+
+ The Managers extends Manager class for more flexibility
+
+ * cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java
+
+2004-03-12 Tanya Wolff
+
+ Marked strings as non-translatable and externalized strings in new exceptions thrown.
+
+ * cdi/
+ * src/
+
2004-03-12 Tanya Wolff
Marked strings as non-translatable.
* mi/
-
+
2004-03-01 Alain Magloire
Reog. New source browser.
@@ -66,2154 +86,3 @@
* src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
-2003-12-22 Mikhail Khodjaiants
- Fix for bug 49282 terminate the gdb session if the termination of the inferior fails.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
-
-2003-12-22 Mikhail Khodjaiants
- Fix for Bug 49278 do not retry the "info threads" command if the first attempt fails.
- Throw an exception from the "getCThreads" method when it fails.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
-
-2003-12-18 Alain Magloire
-
- PR 49148
- Set environment variable value to give the program.
- Arguments are VAR VALUE where VAR is variable name and VALUE is value.
- VALUES of environment variables are uninterpreted strings.
- This does not affect the program until the next "run" command.
-
- So pass the string raw.
-
- * src/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
- * src/org/eclipse/cdt/debug/mi/core/CommandFactory.java
-
-2003-12-17 Mikhail Khodjaiants
-
- Fix for bug 49061: Different values are used as default for the "Load shared library symbols automatically" option.
-
- * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/IMILaunchConfigurationConstants.java
- * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
-
-2003-12-16 Mikhail Khodjaiants
-
- Show the gdb arguments when tracing.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
-
-2003-12-16 Mikhail Khodjaiants
-
- Fix for PR 48870: Terminate gdb if attach to process fails.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
-
-2003-12-09 Alain Magloire
-
- Do not try to interrupt if the target was suspended.
-
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
-
-2003-12-08 Alain Magloire
-
- Target.terminate() did not pass the exception up.
- Added new method MIInferior.terminate().
-
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
-
-2003-12-02 Alain Magloire
-
- Retry the stack-info-depth when it fails the first time
- and decrement the count. GDB can cope up the second try
- and probably mark the thread invalid.
- Patch base on Ashish Karkare patch:
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
-
-2003-11-26 Mikhail Khodjaiants
- Cleanup.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
- * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
-
-2003-11-26 Mikhail Khodjaiants
- Cleanup.
-
- * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ResumedEvent.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
- * src/org/eclipse/cdt/debug/mi/core/command/MIBreakAfter.java
- * src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
- * src/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java
- * src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
- * src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
- * src/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java
- * src/org/eclipse/cdt/debug/mi/core/output/MIGDBShowSolibSearchPathInfo.java
- * src/org/eclipse/cdt/debug/mi/core/output/MIList.java
-
-2003-11-25 Alain Magloire
-
- Process the suspend event even if there is not threads
- or stack associated with the target.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java
-
-2003-11-22 Alain Magloire
-
- In MISession constructor if the initialization fails shutdown
- the Tx/RX/Event threads.
- In MIPlugin if the initialization fails shutdown the pty console.
- Ditto for GDBDebugger/GDBServerDebugger/CygwinGDBDebugger.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
- * src/org/eclipse/cdt/debug/mi/core/MISession.java
- * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
- * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
-
-2003-11-21 Alain Magloire
-
- The wrong MIPlugin.createCSession() method was used.
- Problem noted by Ashish.
-
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
-
-2003-11-21 Mikhail Khodjaiants
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
- Fix for PR 46592: Debug View shows Functions as func(type param,...)().
- Return an empty string instead of "??" if the function name is not available.
-
-2003-11-20 Alain Magloire
-
- Fix NPE: 46313. Setting breakpoint when the target was running
- was throwing NPE.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
- * src/org/eclipse/cdt/debug/mi/core/cdit/EventManager.java
-
-2003-11-19 Mikhail Khodjaiants
-
- Fix for PR 45533: MIException while creating MISession can leave an orphan gdb process.
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java: removed the 'getAdjustedTimeout' method.
-
-2003-11-19 Mikhail Khodjaiants
-
- Fix for PR 45533: MIException while creating MISession can leave an orphan gdb process.
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java: initialization of preferences by default values.
- * src/org/eclipse/cdt/debug/mi/core/MISession.java: removed the duplicate constant for the default
- launch timeout value.
-
-2003-11-13 Mikhail Khodjaiants
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
- Fix for PR 46592: Debug View shows Functions as func(type param,...)().
- In some situations gdb returns the function names that include parameter types.
- To make the presentation consistent truncate the parameters.
-
-2003-11-06 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java:
- Small fix for the defferred breakpoint support.
-
-2003-11-06 Alain Magloire
-
- Patch from Ashish Karkare:
- A CDT 1.2 patch that enables setting of
- serial line speed in the launch configuration when debugging remote targets.
-
- * src/org/eclipse/cdt/debug/mi/core/IGDBServerMILaunchConfigurationConstants.java
- New attribute definition DEV_SPEED.
-
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
- Extracts serial speed value and passes it to createCSession().
-
-
-2003-10-29 Alain Magloire
-
- Deal with PR 45533
-
- Make a preferenc for Timeout and use it when launching
- the ICDebugger session, when way wait for for gdb
- to say "ready" by returning the prompt.
-
- * src/org/eclipse/cdt/debug/mi/core/MISession.java
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
- * src/org/eclipse/cdt/debug/mi/core/IMIConstants.java
-
-2003-10-17 Alain Magloire
-
- Put the framework to deal with deferred breakpoint.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ResumeEvent.java
- Deal with MIRunningEvent.RETURN.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java
- Check if MIBreakpoint is null first.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java
- Check if MIWathchpoint is null first.
- * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
- Implement Deferred Breakpoint
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
- Implement Deferred Breakpoint
- * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
- Enable deferredBreakpoint.
- * src/org/eclipse/cdt/debug/mi/core/CygwinDebugger.java
- Enable deferredBreakpoint.
-
-
-2003-10-07 Mikhail Khodjaiants
-
- All methods of 'IRuntimeOptions' should throw CDI exceptions in case of failure.
- * src/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
-
-2003-09-30 Alain Magloire
-
- ICDIVariableObject.equals();
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
-
-2003-09-29 Mikhail Khodjaiants
- Added the initialization of the shared libraries' attributes to CygwinGDBDebugger.
-
- * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
-
-2003-09-26 Alain Magloire
-
- Second part of PR 43496.
- On the startup of GDB, we have to wait for "(gdb)" prompt
- to make sure that gdb is ready to accept command.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
-
-2003-09-25 Alain Magloire
-
- Fix for PR 43496.
- In the event of an error we should Process.destroy()
- after creating the Process.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
-
-2003-09-11 Mikhail Khodjaiants
- Moving the shared library search paths block to mi UI.
- * IMILaunchConfigurationConstants.java: added the 'ATTR_DEBUGGER_SOLIB_PATH' attribute.
-
-2003-09-11 Alain Magloire
-
- Fix to info shared parsing.
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibary.java
-
-2003-09-09 Mikhail Khodjaiants
- Regrouping the launch configuration constants.
- * IMILaunchConfigurationConstants.java
-
-2003-09-09 Mikhail Khodjaiants
- Added the 'stop-on-solib-events' option.
- Changed the initialization of the shared library search path.
- Changed the messages of the thrown exceptions.
- * GDBDebugger.java
-
-2003-09-09 Mikhail Khodjaiants
-
- CoreFileConfiguration supports shared libraries.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java
-
-2003-08-30 Alain Magloire
-
- Unnecessary synchronization making deadlocks. Should revisit this code.
-
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
-
-2003-08-29 Mikhail Khodjaiants
-
- Added new command - 'set stop-on-solib-events'.
-
- * src/org/eclipse/cdt/debug/mi/core/command/MIGDBSetStopOnSolibEvents.java
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java
-
- Implementation of the new methods added to the 'ICDISharedLibraryManager' interface.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
-
-2003-08-26 Alain Magloire
-
- This is still a hack: "info shared" the real solution
- is to implement in GDB/MI the corresponding command.
- So now we do weird parsing, that varies from platform
- to platform. For example Cygwin output of "info shared"
- is totally different from the GNU/Linux one etc ...
- We the best we can to cope ... but things will break.
-
- * src/org/eclipse.cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java
-
-2003-08-26 Alain Magloire
-
- Using the wrong method for toString() and we were returning
- a overly verbose string.
-
- * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
-
-2003-08-25 Alain Magloire
-
- Small fix, get the datatype for the GDBTypeParser.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
-
-2003-08-22 Alain Magloire
-
- For casting array we use the "@" format, hide it in
- the name. But show it the qualifiedName() since the
- expression is use to evaluate.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
-
-2003-08-21 Alain Magloire
-
- GDB varobj for the arrays children name only returns
- the index. We need to construct the entire name:
- char buffer[2]
- GDB return "0", "1" for the children names.
- We will return
- "buffer[0]", "buffer[1]"
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/Variable.java
-
-2003-08-20 Alain Magloire
-
- GDB/MI altough define an interface that all commands should
- follow .. they do not. For example, we should be able
- to separate options from agument with a "--" string not
- all commands. The latest is -break-condition.
- So we override the MICommand.toString() to do specific
- parsing for specific commands.
-
- * src/org/eclipse/cdt/debug/mi/core/command/MICommand.java
- break the toString() method.
- * src/org/eclipse/cdt/debug/mi/core/command/MIBreakCondition.java
-
-2003-08-19 Alain Magloire
-
- Fix to the GDBTypeParser to deal with gdb
- awkwardness
- * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
-
-2003-08-19 Alain Magloire
-
- GDB, uses false category for C++ class/struct.
- Fix to return the correct name.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
-
-2003-08-18 Alain Magloire
-
- Patch from Chris Songer, excerpt from the email.
- Using the phrase "To ensure consistency between a register name and its
- number, the output list may include empty register names," the MI protocol
- appears to allow gdb to return a "sparse" array of registers by giving a 0
- length name in response to the -data-list-register-names-command. CDT 1.0.1
- does not handle this especially well and subsequently exposes a bug in GDB
- 5.1.3 and crashes it if the debugger has more than 3 register names of 0
- length.
-
- example:
-
- 8-data-list-register-names
- (gdb)
- 8^done,register-names=["ar0","ar1",... ,"","","","","","","ur0",\
- "ur1","ur2","ur3","ur4","ur5","ur6","ur7","","" ..]
-
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIDataListRegisterNamesInfo.java:
- New method getNumRealNames().
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
- Check if the register name is not empty.
-
-2003-08-18 Alain Magloire
-
- From the manual:
- By default GDB will automatically keep track of objects as they are
- loaded and unloaded by the dynamic linker. By using the command `set
- stop-on-solib-events 1' you can arrange for GDB to stop the inferior
- when shared library events occur, thus allowing you to set breakpoints
- in shared libraries which are explicitly loaded by the inferior.
-
- * src/org/eclipse/cdt/debug/mi/core/event/MISharedLibEvent.java:
- New file, StoppedEvent du to shared lib events.
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/SuspendedEvent.java:
- Catch MISharedLibEvent.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryevent.java:
- New file implements ICDISharedLibaryEvent.
- * src/org/eclipse/cdt/debug/mi/core/RxThread.java:
- Hack to catch suspend/stop on shared library.
-
-2003-08-11 Mikhail Khodjaiants
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Removed the 'type' parameter from the 'getVariableObjectAsArray' method.
-
-2003-08-11 Mikhail Khodjaiants
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
- The 'type' argument of the 'getVariableObjectAsArray' method shouldn't be null.
-
-2003-08-11 Mikhail Khodjaiants
- * src/org/eclipse/cdt/debug/mi/core/cdi/variableManager.java
- Mistype in the 'CheckType' method.
-
-2003-08-07 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/variableManager.java
- getVariableObjectAsArray() ignore the type argument it does
- not work with gdb.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
- Added hasChildren() method.
-
-2003-08-07 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Update the interface to reflect ICDIVariableManager.
-
-2003-08-06 Mikhail Khodjaiants
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
- Removed the unused local variable 'children' from the 'getVariables' method.
-
-2003-08-07 Alain Magloire
-
- PR 38964.
-
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java:
- The method interrupted was synchronized and so was the
- setSuspended(). Now do a notify when the status change.
- Throw an exception if the interrupt() failed.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
- Do not check for running.
-
-2003-08-06 Alain Magloire
-
- Dealing with casting: Casting a field of a structure did not
- work properly for example:
- struct foo { int bar; } foobar;
- To cast the field bar, we need to construct the full qualified
- name "foobar.bar".
- Unfortunately for C++ things are hectic in the GDB/MI world
- the childre of structure are not the fields. So we try to
- deal with it too.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
- New constructor, new method getLanguage() to deal with
- different type of languages ex: C vs C++.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- Clean up and added a bunch of set/getXXX() methods instead of
- accessing directly the fields.
- * src/og/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Clean the methods use for casting and format the indentation.
- * src/org/eclipse/cdt/debug/mi/core/command/MIVarInfoExpression.java:
- Added parsing method.
-
-2003-08-06 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- Implement isEditable method.
-
-2003-08-06 Mikhail Khodjaiants
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
- Fix for 'isEditable'.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- Use correct expression in 'sizeof'.
-
-2003-08-06 Alain Magloire
-
- First framework to deal with breaking the arrays in ranges.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java:
- Remove unused getArgumentObject().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
- Remove unuse getRegisterObject().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
- Move methods to VariableObject to comply with the interface.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- Implement new methods of ICDIVariableObject.java
- Save the castin information.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
- New method getVariables(int, int).
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- New method encodeVariable(), to get the encode specific string
- for gdb casting of arrays.
-
-2003-07-28 Mikhail Khodjaiants
-
- Minimize the number of the "evaluate expression" requests when changing the value of the floating point types.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
-
-2003-07-17 Alain Magloire
-
- Catch the use of cli command "detach" and fire the appropriate events.
-
- * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
-
-2003-07-16 Alain Magloire
-
- Provide FunctionValue, PointerValue and ArrayValue.
- For ArrayValue apply the patch from Chris Songer, excerpt from
- his email:
- Given GDB performance, we saw CDT start to time out on large array
- requests. The following patch corrects this by scaling the time out with
- the number of children being retrieved. I have not looked at the head on
- this so your mileage may vary. On 1.0.1 with this and the MIParser change
- you can open 16k arrays.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/AggregateValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DerivedValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValueValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
-
-2003-07-10 Alain Magloire
-
- In the case of not having a PTY to unmixed inferior output from gdb commands
- do the only sane thing and when a response comes in that is not a valid
- MI format consider it as inferior output.
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIParser.java:
- Put non valid lines in the TargetStream.
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java:
- Pass output straight to the target.
- * src/org/eclipse/cdt/debug/mi/core/TxThread.java:
- Remove unused code.
- * src/org/eclipse/cdt/debug/mi/core/command/Command.java:
- Try to remove duplicate errors when throwing the MIException.
-
-2003-07-08 Alain Magloire
-
- Unfortunately GDB/MI does not make the errors available via the advertise
- way explain in the documentation, for example:
- 27-var-create - * this->aaa
- &"There is no member or method named aaa.\n"
- &"Type Hello has no component named aaa.\n"
- 27^error,msg="."
-
- According to the doc, the error should be available in the msg field:
- 27^error,msg="There is no member or method named aaaa"
-
- Since this will not be fix in GDB/MI anytime soon, we cope with it by
- grabing the logstream error and make it available in
-
- CDIException.getDetailedMesssage().
-
- * src/org/eclipse/cdt/debug/mi/core/command/*.java: All the commands
- changed to grab also the logstream messages if any for the exception.
-
-2003-06-25 Alain Magloire
-
- Patch from Chris Songer, excerpt from its email:
- The MIParser is O(N^2) time in the length of a line returned from GDB.
- While not an issue for OOB messages, this can be quite an issue for array
- retrieval from the target and other potentially long messages. It's N^2
- because it relies on StringBuffer.deleteCharAt( 0 ) and
- StringBuffer.delete( 0, X ). These operations appear to do a copy of the
- remaining data in the Sun Java library rather than bumping some index.
-
- The following diffs are code that we are using on 1.0.1 to correct this
- issue. It's relatively new, so there may be some bugs but has certainly
- performed just fine in our initial regressions. Because of that I'm not
- sending it in as a patch, more an FYI really. The basic change is exactly
- what you'd expect: these diffs make MIParser use a new type of string
- buffer that's quite efficient at deleting from the head of the array.
-
- * src/org/eclipse/cdt/debug/mi/core/output/MIParser.java
-
-2003-06-18 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java:
- Check if the variable was a register.
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/CreatedEvent.java:
- Cleanup.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
- Removing of method {get,set}Value() and new method getChildren().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
- (setValue): calls update on the appropriate manager.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterValue.java:
- Remove file, unused.
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- (getVariableObjectAsType): check for register.
- (getVariableObjectAsArray): check for register.
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
- (getRegister): reimplemented.
-
-2003-06-18 Mikhail Khodjaiants
- Removed unused local variable.
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
-
-2003-06-17 Alain Magloire
-
- PR 38934
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java (update):
- We have to call "-var-update" to update the register values in gdb.
-
-2003-06-05 Mikhail Khodjaiants
- gdb/mi support of infinite values of the floating point types.
- * DoubleValue.java
- * FloatingPointValue.java
- * FloatValue.java
-
-2003-06-05 Mikhail Khodjaiants
- Removed the redundant methods from the 'ICDIFloatingPointValue' interface.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
-
-2003-06-04 Mikhail Khodjaiants
- Correction in the parsing of reference value.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java
-
-2003-06-04 Mikhail Khodjaiants
- Added some missing types and methods for the type parsing.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayType.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DoubleValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatValue.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerValue.java: new
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java: new
-
-2003-06-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java:
- Bug fix gdb returns fix like "char [200]" no variables.
-
-2003-06-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
- (getType): save the head of the type for the return value.
-
-2003-06-02 Alain Magloire
-
- Enable the new type parsing with the class GDBTypeParser.
- This class takes the output of GDB/MI
- (gdb) whatis
- or
- (gdb) ptype
- And parse it.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayType.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DerivedType.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerType.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java
- * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
- * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
-
-2003-05-25 Alain Magloire
-
- Do extra parsing.
- * src/org/eclipse/cdt/debug/mi/core/model/type/ArrayType.java
- * src/org/eclipse/cdt/debug/mi/core/model/type/DerivedType.java
- * src/org/eclipse/cdt/debug/mi/core/model/type/PointerType.java
- * src/org/eclipse/cdt/debug/mi/core/model/type/FunctionType.java
- * src/org/eclipse/cdt/debug/mi/core/model/Variable.java
-
-2003-05-24 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java
- When execption reset the variable to null and rethrow the exception.
-
-2003-05-24 Alain Magloire
-
- Continuing the implementation of types.
- ICDIType is ICDIObject.
- * src/org/eclispe/cdt/mi/core/cdi/model/type/Type.java:
- Extends CObject
-
-2003-05-23 Alain Magloire
-
- Draft implementation of org.eclipse.cdt.debug.core.cdi.model.type/*
-
-2003-05-06 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java (suspend):
- Suspend the program before selecting the thread.
-
-2003-05-01 Mikhail Khodjaiants
- Implementations of the new "terminateSessionOnExit" method of ICDIConfiguration.
- * Configuration.java
- * CoreFileConfiguration.java
-
-2003-04-30 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java:
- Call MIInferior.update() if attaching session.
-
-2003-04-30 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java (supportsTerminate):
- Returns true.
-
-2003-04-25 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/EventManager.java (update):
- Remove the call to MIInferior.update(), wrong place.
- * src/org/eclipse/cdt/debug/mi/core/EventThread.java (run):
- Call MIInferior.update() when suspended.
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (update):
- Do not do the call to "info program" for type "attached" sessions.
- * src/org/eclipse/cdt/debug/mi/core/MISession.java (terminate):
- When terminate() is call disable posting commands to the queue etc...
-
-2003-04-25 Mikhail Khodjaiants
-
- Fix for bug 36909.
- * MIFrame.java:
- gdb returns "??" as a function name if symbols are not available.
- Set the function name in this case to "";
-
-2003-04-24 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIInfoProgram):
- New method.
- * src/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java:
- New file, "info program".
- * src/org/eclipse/cdt/debug/mi/core/output/MIInfoProgramInfo.java:
- New file, parsing of "info Program".
- * src/org/eclipse/cdt/debug/mi/core/output/EventManager.java (processSuspend):
- Call MIInferio.update();
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (update):
- New method to retrieve the pid.
- (interrupt): Try doing Spawner.raise(pid, INT) as a fallback.
- * src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java (supportSuspend):
- Bug fix.
-
-2003-04-23 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java (update):
- Move the creation of the list after the call to "info signals".
- The call may fail.
-
-2003-04-21 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/Target.java (suspend):
- Remove the delay of 10 secs.
- * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (interrupt):
- Do a delay of 10 secs to allow time for the inferior to stop.
- * src/org/eclipse/cdt/debug/mi/core/MISession.java (terminate) :
- Clear the EventQueue, if we restart.
- * src/org/eclipse/cdt/debug/mi/core/Queue (isEmpty):
- New method.
-
-2003-04-21 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java:
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java:
- Ignore exception when doing "set auto-solib-path on".
-
-2003-04-17 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
- setCurrentThread(), calls VariableManager.update();
- * src/org/eclipse/cdt/debug/micore/cdt/model/Thread.java:
- setCurrentStackFrame() calls VariableManager.update();
-
-2003-04-07 Mikhail Khodjaiants
- Changed the messages of CDI exceptions.
- * MISession.java
- * Target.java
-
-2003-04-04 Alain Magloire
-
- Code from Monta Vista to add a Session via GDBServer.
-
- * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java:
- * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java:
- * src/org/eclipse/cdt/debug/mi/core/IGDBServerMILaunchConfigurationConstants.java:
- * plugin.xml
-
-2003-04-04 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdt/VariableManager.java:
- Check for null in update().
-
-2003-04-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdt/VariableManager.java:
- update(), put a limit on the number of stack we check for variables.
-
-2003-04-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdt/model/Target.java:
- * src/org/eclipse/cdt/debug/mi/core/cdt/model/Thread.java:
- Before updating the register check if the manager is on autoupdate.
-
-2003-04-02 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdt/model/Target.java:
- suspend() sync for at least < 10 seconds to allow the gdb to
- suspend via SIGINT the program.
-
-2003-03-28 Mikhail Khodjaiants
- Added time stamp to the trace messages.
- * MIPlugin.java
-
-2003-03-28 Mikhail Khodjaiants
- Correction of the previous patch.
- * MIAsm.java
-
-2003-03-27 Mikhail Khodjaiants
- Applied patch from Chris Songer: Assembly View Fixups
- * Instruction.java
- * MIAsm.java
-
-2003-03-19 Alain Magloire
-
- Some applications, like recursive code, have a very deep stackframes
- bigger > 50. This can turn out to be a problem, as the VariableManager
- will try to update all the variables and there can be a lot of local
- variable in all those stackframes. We can not use:
- "-var-update *"
- either since on gdb-5.2.1, for reasons unknown to me this will make
- gdb unstable/crash. So the approach is to only update variables
- in the current stackframe.
- The advantage we only update a small set of variables.
- The downside if we have side effects i.e. pointers pass to
- argument and modifying the pointer affect the callees memory.
- But this is a small price to pay and usually C/C++ programmer
- are interrested to see changes of variables in the current stack
- not changes 20 stack before.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Method update() only check the variable in the scope of the
- current stackframe(the highest stack). This will include
- any globals.
-
-2003-03-19 Alain Magloire
-
- Base on PR/patch from Chris Songer.
- Assigning a value to a register may have side-effects
- on other registers. When assigning, the action is now
- to upate again the values. The same for the variables.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
- Method setValue() calls manager.update() after the assignment.
-
-2003-03-17 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java:
- getArguments() and getLocalVariable() are caching the results.
-
-2003-03-16 Alain Magloire
-
- GDB/MI does not keep the stack level, from what we expect. In gdb, the
- highest stack is level 0 and lower stack as the highest level:
- -stack-list-frames
- ^done,stack=[frame={level="0 ",addr="0x0804845b",func="main",file="hello.c",line="24"},
- frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
-
- -stack-list-frames
- ^done,stack=[frame={level="0 ",addr="0x08048556",func="main2",file="hello.c",line="58"},
- frame={level="1 ",addr="0x08048501",func="main",file="hello.c",line="41"},
- frame={level="2 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
-
- This is of no use to us since the level is always "0". The level is necessary for example when
- doing recursive calls to make a distinction between frames.
- So in CDT this reverse the hidghest frame will have the highest number. In CDT:
- stack=[frame={level="2 ",addr="0x0804845b",func="main",file="hello.c",line="24"},
- frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
-
- stack=[frame={level="3 ",addr="0x08048556",func="main2",file="hello.c",line="58"},
- frame={level="2 ",addr="0x08048501",func="main",file="hello.c",line="41"},
- frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
-
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java:
- Takes a new Argument in the constructor, the level.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Threawd.java:
- Create the StackFrame with the constructor.
- * src/org/eclipse/cdt/debug/mi/core/cdi/Location.java:
- Fix equals().
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Use the right level when setting the frame.
-
-2003-03-14 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java:
- New method getArgumentObject().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
- New method getRegisterObject().
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- Checks for ICDIVariable and ICDIArgument since they are now ICDIVariableObject too.
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
- Checks for ICDIRegister when creating since they are now ICDIRegisterObject too.
-
-2003-03-13 Alain Magloire
-
- Small bug fix
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
-
-2003-03-13 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- New method getLocalVariableObjects() implemented returns all the local.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
- getLocalVariables() use getLocalVariableObjects().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
- getName() does not longer throw an Exception.
-
-2003-03-11 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- New methods getVariableObjectAsArray() getVariableObjectAsType().
-
-2003-03-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/CommandQueue.java (print): Comment out.
- * src/org/eclipse/cdt/debug/mi/core/Queue.java (print): Comment out.
-
-2003-02-12 Mikhail Khodjaiants
- The 'setAutoSolib' method is no longer in ICDISharedLibraryManager.
- * GDBDebugger.java
-
-2003-02-12 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
- Removed getRegisterObjects(), getRegisters(), getSharedLibraries().
- Those actions are done via the managers.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java (getChild):
- Check the grand children also.
-
-2003-02-12 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (isAutoLoadSymbols):
- New method.
- * src/org/eclipse/cdt/deb/mi/core/command/MIGDBShow.java (getMIGDBShowInfo):
- New method.
-
-2003-02-12 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java (ChangedEvent):
- Returns a Variable.
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java (DestroyedEvent):
- Check if it was an expression also.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java (getVariables):
- Calls the parent's implementation.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java (getVariables):
- New implementation.
- * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java (update):
- Deal with new MIVarDeleteEvent.
- * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java (addExpression):
- Removed.
- (removeExpression): New method.
- * src/org/eclipse/cdt/debug/mi/core/event/MIVarChangedEvent.java (getScope):
- removed.
- * src/org/eclipse/cdt/debug/mi/core/event/MIVarDeletedEvent.java:
- New file.
-
-2003-02-09 Alain Magloire
-
- in GDB/MI 5.3 and below, the -data-list-register-xxx can bring gdb down with
- an assert(). The problem is that code like this
- ui_out_list_begin();
- for () {
- if(error)
- return ERROR;
- }
- ui_out_list_end();
- The ui_out_list_end() is never call.
- However gdb offers the varobj to deal cleanly with register but calling
- "-var-update *" seems to make gdb misbehave and hang after a while.
- So we use a mixed of -data-list-register-xxx calls and var-object to deal
- with registers and do not call "-var-update *" but rather call it for
- each time for individual objects to see the updates.
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
- Reimplemented to use the var obj.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterValue.java:
- New file implement ICDIValue.
- * src/org/eclipse/cdt/debug/mi/core/cdi/EventManagero.java (processSuspendedEvent):
- Call each manager.update().
- * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java (update):
- Reimplemented.
- * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java (update):
- Reimplemented
- * src/org/eclipse/cdt/debug/mi/core/cdi/UpdateManager.java:
- Removed.
- * src/org/eclipse/cdt/debug/mi/core/cdi/IUpdateListener.java:
- Removed.
- * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java:
- Catch the cli "run" command.
-
-2003-02-06 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java (getVariableArrayObject):
- New Method to type cast in an array.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java (VariableObject):
- New constructor.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManger.java(getSignal):
- Return an signal object even when the session is terminated.
-
-2003-02-05 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/command/MISignal.java:
- * src/org/eclipse/cdt/debug/mi/core/command/MIJump.java:
- Return a fake ^running, since the MI semantic is not respected.
-
-2003-02-04 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/CLICommand.java:
- Catch cli command "jump"
-
-2003-02-04 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java:
- New implementation for signal(), jump, and stepReturn(boolean).
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java:
- (signal): Calls Target.signal().
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/SignalManager.java:
- (signal): Method removed.
- * src/org/eclipse/cdt/debug/mi/core/command/MIJump.java:
- New file.
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java:
- New method creteMIJump().
-
-2003-02-04 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManger.java:
- Implement signal() method.
- * src/org/eclipse/cdt/debug/mi/core/command/MISignal.java:
- New file.
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java:
- (createMISignal): new method.
-
-2003-02-04 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ExitedEvent.java:
- Catch MIInferiorSignalExitEvent.
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ExitedEvent.java:
- Catch MIInferiorSignalExitEvent.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalExitInfo.java:
- New File.
- * src/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java:
- New File
- * src/org/eclipse/cdt/debug/mi/core/event/CLIProcessir.java:
- "signal" command is like continue.
- * src/org/eclipse/cdt/debug/mi/core/event/RxThread.java:
- Catch MIInferiorSignalExitEvent.
-
-2003-02-04 Alain Magloire
-
- Refactor MISignal in MISigHandle to not confus with
- CLI command "signal SIGNAL".
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java:
- * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java:
- * src/org/eclipse/cdt/debug/mi/core/output/MISigHandle.java:
-
-2003-02-03 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java:
- (loadSymbols): set the read flag to true.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/SharedLibrary.java:
- (getMIShared): New method.
- * src/org/eclipse/cdt/debug/mi/core/output/MIShared.java:
- (setSymbolsRead): New method.
-
-2003-02-01 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java:
- Support for ICDISignal event.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java (handle):
- Implemented.
- * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java (update):
- Support for ICDISignal event.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java (handle):
- New method.
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIHandle):
- New method
- * src/org/eclipse/cdt/debug/mi/core/command/MIHandle.java:
- New File.
- * src/org/eclipse/cdt/debug/mi/core/CLICommand.java:
- Check for "handle" and "signal" cli command.
-
-2003-01-31 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java:
- Use deleteSharedLibrary from the manager.
- * src/org/eclipse/cdt/debug/mi/core/cdi/signal/Signal.java:
- Construct a signal base on the MISignal response.
- * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
- (suspendedInferior): Take ICDITarget as argument.
- (resumeInferior): Take ICDITarget as argument.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
- (containsSharedLibrary): removed.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
- (update): implemented.
- (getSignals): implemented.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SignalReceived.java:
- Ask the manager for the signal.
- * src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java:
- New file.
-
-2003-01-29 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (getSharedLibraryPaths):
- New method.
- (setSharedLibraryPaths): New method.
- (setAutoLoadSymbols): New methos set autosolib.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java (setAutoSolib):
- Move to SharedLibraryManager.java
-
-2003-01-28 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java:
- * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java:
- * src/org/eclipse/cdt/debug/mi/core/output/MISignal.java:
- New files.
-
-2003-01-28 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/ArgumentObject.java:
- Use ICDIStackFrame in the constructor.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterObject.java:
- Use ICDIStackFrame in the constructor.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- Use ICDIStackFrame in the constructor.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java (getVariables):
- No need to cast to StackFrame.
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java (setCurrentFrame):
- Implement new method, takes a boolean as the second method.
- * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java:
- No need to cast to StackFrame.
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
- No need to cast to StackFrame.
-
-2003-01-28 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java (getCondition):
- Condition was initialize with the wrong parameter.
- (setMIBreakpoint): reset location and condition.
-
-2003-01-28 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java (setMIBreakpoint):
- New method.
- * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java (update):
- Reset the new MIBreakpoint on the Breakpoint object.
- (containsBreakpoint): Removed.
- (hasBreakpointChanged): Change arguments.
- * src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java (parser):
- Better check for watchpoints.
- * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java (isChangeBreakpoint):
- Check for "ignore" and "condition" cli commands.
-
-2003-01-27 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java (getTypeName):
- Use MIWhatis to get the type of the register.
- (getVariables): Cache the answer.
- * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (loadSymbols):
- Use MISharedLibrary.
- * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIWhatis):
- New method.
- (MIPType): New method.
- * src/org/eclipse/cdt/debug/mi/core/command/MISharedLibrary.java:
- New file.
-
-
-2003-01-27 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java (getCThreads):
- When attaching gdb(at least on some platform) does not show
- the selected thread(info threads). Fallback on the first one.
-
-2003-01-27 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java (findVariable):
- Bug fix, did not compare the stacks correctly.
-
-2003-01-27 Alain Magloire
-
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/ArgumentObject.java:
- * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterObject.java:
- Move to model package.
-
-2003-01-26 Alain Magloire
-
- Major refactor of the code. Rewrote/Added Managers:
- VariableManager
- ExpressionManager
- RegisterManager
- UpdateManager.
-
- Refactor of CSession to Session, CTarget to Target
- and CThread to Thread.
- * src/.../mi/core/cdi/event/ChangedEvent.java:
- * src/.../mi/core/cdi/event/CreatedEvent.java:
- * src/.../mi/core/cdi/event/DestroyedEvent.java:
- * src/.../mi/core/cdi/event/DisconnectedEvent.java:
- * src/.../mi/core/cdi/event/ExitedEvent.java:
- * src/.../mi/core/cdi/event/MemoryChangedEvent.java:
- * src/.../mi/core/cdi/event/ResumedEvent.java:
- * src/.../mi/core/cdi/event/SuspendedEvent.java:
-
-
- * src/.../mi/core/cdi/model/Argument.java:
- * src/.../mi/core/cdi/model/Breakpoint.java:
- * src/.../mi/core/cdi/model/Thread.java:
- * src/.../mi/core/cdi/model/Target.java:
- * src/.../mi/core/cdi/model/MemoryBlock.java:
- * src/.../mi/core/cdi/model/MixedInstruction.java:
- * src/.../mi/core/cdi/model/Instruction.java:
- * src/.../mi/core/cdi/model/Signal.java:
- * src/.../mi/core/cdi/model/SharedLibrary.java:
- * src/.../mi/core/cdi/model/CObject.java:
- * src/.../mi/core/cdi/model/Expression.java:
- * src/.../mi/core/cdi/model/Variable.java:
- * src/.../mi/core/cdi/model/Value.java:
- * src/.../mi/core/cdi/model/Register.java:
- * src/.../mi/core/cdi/model/StackFrame.java:
-
- * src/.../mi/core/cdi/ArgumentObject.java:
- * src/.../mi/core/cdi/VariableObject.java:
- * src/.../mi/core/cdi/RegisterObject.java:
- * src/.../mi/core/cdi/BreakpointHit.java:
- * src/.../mi/core/cdi/BreakpointManager.java:
- * src/.../mi/core/cdi/VariableManager.java:
- * src/.../mi/core/cdi/ExpressionManager.java:
- * src/.../mi/core/cdi/RegisterManaget.java:
- * src/.../mi/core/cdi/SignalManager.java:
- * src/.../mi/core/cdi/SharedLibraryManager.java:
- * src/.../mi/core/cdi/EventManager.java:
- * src/.../mi/core/cdi/MemoryManager.java:
- * src/.../mi/core/cdi/ErrorInfo.java:
- * src/.../mi/core/cdi/Session.java:
- * src/.../mi/core/cdi/ExitInfo.java:
- * src/.../mi/core/cdi/UpdateManager.java:
- * src/.../mi/core/cdi/IUpdateListener.java:
- * src/.../mi/core/cdi/SessionObject.java:
- * src/.../mi/core/cdi/SignalReceived.java:
- * src/.../mi/core/cdi/SourceManager.java:
- * src/.../mi/core/cdi/RuntimeOptions.java:
- * src/.../mi/core/cdi/WatchpointScope.java:
- * src/.../mi/core/cdi/WatchpointTrigger.java:
- * src/.../mi/core/cdi/EndSteppingRange.java:
-
- * src/.../mi/core/MIPlugin.java:
- * src/.../mi/core/CygwinGDBDebugger.java:
- * src/.../mi/core/GDBDebugger.java:
-
-
-
-2003-01-24 Alain Magloire
-
- * src/.../mi/core/CLIProcessor.java (isEnableBreakpoint):
- Check for "enable", "disable" cli commands.
-
-2003-01-23 Alain Magloire
-
- * src/.../mi/core/CLIProcessor.java (isDeletingBreakpoint):
- Check for "d" it means delete breakpoints.
-
-2003-01-20 Alain Magloire
-
- * src/.../mi/core/cdi/Configuration.java (supporstSharedLibrary):
- New method.
- * src/.../mi/core/cdi/CoreFileConfiguration.java (supporstSharedLibrary):
- New method.
- * src/.../mi/core/cdi/SharedLibraryManager.java (update):
- Checks if support for shared Libary before doin an update.
-
-2003-01-20 Alain Magloire
-
- * src/.../mi/core/cdi/SuspendedEvent.java: Use SignalReceived.
- * src/.../mi/core/cdi/model/Signal.java: New file.
- * src/.../mi/core/cdi/model/SignalManager.java: Use model/Signal.
- * src/.../mi/core/cdi/SignalReceived.java: New file.
-
-2003-01-20 Alain Magloire
-
- The problem was that no check was done for the existence of
- the program/executable nor the working directory etc ...
- By asking the arguements to be File, the check is done by
- the caller.
-
- * src/.../mi/core/MIPlugin.java (createCSession): Change the
- the arguments.
- * src/.../mi/core/GDBDebugger.java (createCSession): Change the
-
-2003-01-20 Alain Magloire
-
- * src/.../mi/core/command/MIWhatis.java: New file.
- * src/.../mi/core/command/MIPType.java: New file.
- * src/.../mi/core/command/MISharedLibary.java: New file.
- * src/.../mi/core/output/MIWhatisInfo.java: New file.
- * src/.../mi/core/output/MIPTypeInfo.java: New file.
-
-2003-01-18 Alain Magloire
-
- * src/.../mi/core/cdi/event/DestroyedEvent.java (DestroyedEvent):
- Remove the deleted shared library from the list.
- * src/.../mi/core/cdi/SharedLibraryManager.java (getUnloadedLibrary):
- Get a shared library slated for unload.
- (removeFromUnloadedList): Remove the library form the list.
-
-2003-01-17 Alain Magloire
-
- * src/.../mi/core/output/MIInfoSharedLibraryInfo.java (parseWinShared):
- Break the methods in parserUnixShared() and parseWinShared() to cope
- with the different formats.
-
-2003-01-17 Alain Magloire
-
- * src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
- New method takes and array of ICDISharedLibrary.
- * src/.../mi/core/cdi/SharedLibrary.java (loadSymbols):
- Call the share manager to load.
-
-2003-01-17 Alain Magloire
-
- * src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
- Call "shared libraryname".
-
-2003-01-17 Alain Magloire
-
- The problem here is that we do not knw the state of
- the session, for example "target remote server:port"
- was issue, in this case the state is suspended.
- We try to guess by posting a "info remote-process"
- and set suspended when no error.
-
- * src/.../mi/core/MIPlugin.java (createCSession):
- Try "info remote-process" to guess the state.
- Remove the "new-console" call to windows specific files.
- * src/.../mi/core/CygwinGDBDebugger.java(createLaunchSession):
- call "set new-console" for windows plaforms.
-
-2003-01-16 Alain Magloire
-
- * src/.../mi/core/cdi/SharedLibary.java (setMIShared):
- New method.
- * src/.../mi/core/cdi/SharedLibraryManager.java (update):
- When changed reset the MIShared of the SharedLibrary.
-
-2003-01-16 Alain Magloire
-
- Process gdbinit configuration file.
-
- * src/.../mi/core/MIPlugin.java (createCSession): Takes now two new
- arguments for working directory and configuration file gdbinit.
- * src/.../mi/core/GDBDebugger.java (createAttachSession):
- (createCoreSession): pass the working directory and gdbinit file
- (createLaunchSession): pass the working directory and gdbinit file
- * src/.../mi/core/IMILaunchConfigurationConstants.java:
- New constant ATTR_GDB_INIT.
-
-2003-01-16 Alain Magloire
-
- * src/.../mi/core/cdi/EventManager.java (processSuspended):
- Also process the Shared lib by calling update on the manager.
-
- * src/.../mi/core/cdi/CSession.java: Create a shared
- library manager.
-
-2003-01-16 Alain Magloire
-
- * src/.../mi/core/event/MISharedLibCreatedEvent.java: New file.
- * src/.../mi/core/event/MISharedLibChangedEvent.java: New file.
- * src/.../mi/core/event/MISharedLibUndloadedEvent.java: New file.
-
- * src/.../mi/core/cdi/event/CreatedEvent.java:
- new constructors to deal with MISharedLibCreatedEvent.
- * src/.../mi/core/cdi/event/ChangedEvent.java:
- new constructors to deal with MISharedLibChangedEvent.
- * src/.../mi/core/cdi/event/DestroyedEvent.java:
- new constructors to deal with MISharedLibUnloadedEvent.
-
- * src/.../mi/core/cdi/model/SharedLibrary.java: New file.
-
- * src/.../mi/core/cdi/SharedLibraryManager.java: New file.
- * src/.../mi/core/cdi/CSession.java (getSharedLibraryManager):
- New method.
- * src/.../mi/core/cdi/EventManager.java (update):
- Deal with the new MISharedLibXXXEvents.
-
-2003-01-15 Alain Magloire
-
- * src/.../mi/core/command/CommandFactory.java (createMIInfoSharedLibrary):
- New method.
- * src/../mi/core/command/MIInfoSharedLibrary.java: New file.
- * src/../mi/core/output/MIInfoSharedLibraryInfo.java: New File.
- * src/../mi/core/output/MIShared.java: new File.
-
-2003-01-13 Mikhail Khodjaiants
- * CTarget.java: in the 'runUntil' method check if file name or function name length > 0, otherwise use address.
-
-2003-01-10 Alain Magloire
-
- * src/.../mi/core/cdi/BreakpointManager.java (update): fix subscript
- (setCondition): Fire a ChangedEvent.
- (enableBreakpoint): Fire a ChangedEvent.
- (disableBreakpoint): Fire a ChangedEvent.
-
-2003-01-10 Alain Magloire
-
- * src/.../mi/core/cdi/model/CTarget.java (runUntil): Address breakpoint
- needs a "*" prefix.
-
-2003-01-09 Alain Magloire
-
- * src/.../mi/core/cdi/BreakpointManager.java (hasBreakpointChanged):
- Implemented.
-
-2003-01-09 Alain Magloire
-
- * src/.../mi/core/cdi/model/CTarget.java (setCurrentThread): takes
- a new argument to decide if the events should be fired.
- * src/.../mi/core/cdi/model/CThread.java (getStackFrameCount): use
- the setCurrentThread() with events updates disable
- (getStackFrames): Ditto.
- (updateState): Wrong subscript in the loop.
-
-2003-01-09 Alain Magloire
-
- Generate CreatedEvent's for Variable, Argument, Expression, Memory, Thread
- objects when they are created. This makes it consistent with the generated
- DestroyedEvent's.
-
- * src/.../mi/core/cdi/EventManager.java (update): Deal with
- MI{Register,Memory,Thread,Var}CreatedEvent events.
- * src/.../mi/core/cdi/model/Ctarget.java (updateState): Fire events
- when threads are created or destroyed.
- * src/.../mi/core/cdi/model/MemoryBlock.java: Move here.
- * src/.../mi/core/cdi/model/Register.java (getID): rename getId() to getID().
- * src/.../mi/core/cdi/event/CreatedEvent.java: New constructors
- to deal with MI{Register,Memory,Thread,Var}CreatedEvent.
-
- * src/.../mi/core/event/MIMemoryCreatedEvent.java: New file.
- * src/.../mi/core/event/MIRegisterCreatedEvent.java: New file.
- * src/.../mi/core/event/MIThreadCreatedEvent.java: New file.
- * src/.../mi/core/event/MIVarCreatedEvent.java: New file.
- * src/.../mi/core/event/MIBreakpointChangedEvent.java (MIBreakpointChangedEvent):
- Reuse the constructor.
- * src/.../mi/core/event/MIBreakpointCreatedEvent.java (MIBreakpointCreatedEvent):
- Reuse the constructor.
- * src/.../mi/core/event/MIBreakpointDeletedEvent.java (MIBreakpointDeletedEvent):
- Reuse the constructor.
-
-2003-01-08 Alain Magloire
-
- Refactoring, split the org.eclipse.cdt.debug.mi.core.cdi in pacackages
- org.eclipse.cdt.debug.mi.core.cdi
- org.eclipse.cdt.debug.mi.core.cdi.event
- org.eclipse.cdt.debug.mi.core.cdi.model
- This help structure things up.
- * src/.../mi/core/cdi/event: New files.
- * src/.../mi/core/cdi/model: New files.
-
-2003-01-08 Alain Magloire
-
- * src/.../mi/core/cdi/EventManager.java (update): bug fix
- was calling DestroyedEvent() incorrectly.
-
-2003-01-08 Alain Magloire
-
- CLIProcessor a new class to recognise the CLI(Command Line Interface)
- of gdb example:
- (gdb) next
- (gdb) n
- (gdb) b
- (gdb) break
- etc ..:
- When the patterns are discover, the class will generate some events
- to warn te UI that something change.
-
- * src/.../mi/core/cdi/BreakpointManager.java (update):
- Send a -break-list and generate events for any difference, in
- the breakpoints that we know about.
- (deleteBreakpoint): Take as argument the breakpoint number.
- (getBreakpoints): Call update() to generate events if new breakpoints.
- (getMIBreakpoints): return the MIBreakpoints.
- * src/.../mi/core/cdi/ChangedEvent.java (ChangedEvent):
- New constructor with MIBreakPointChangedEvent.
- * src/.../mi/core/cdi/DestroyedEvent.java (DestroyedEvent):
- New constructor with MIBreakPointDeletedEvent.
- * src/.../mi/core/cdi/Created.java: New file.
- * src/.../mi/core/cdi/EventManager.java (update):
- Watch for the new MIBreakPoint*Events.
- * src/.../mi/core/event/MIBreakPointCreatedEvent.java: New file.
- * src/.../mi/core/event/MIBreakPointChangedEvent.java: New file.
- * src/.../mi/core/event/MIBreakPointDeletedEvent.java: New file.
- * src/.../mi/core/event/MICreatedEvent.java: New file.
- * src/.../mi/core/event/MIDestroyedEvent.java: New file.
- * src/.../mi/core/event/MIInferiorExitEvent.java: Extends MIDestroyedEvent
- * src/.../mi/core/event/MIThreadExitEvent.java: Extends MIDestroyedEvent
- * src/.../mi/core/event/MIGDBExitEvent.java: Extends MIDestroyedEvent
- * src/.../mi/core/event/MIDetachedEvent.java: Extends MIDestroyedEvent
- * src/.../mi/core/CLIProcessor.java: New file.
- * src/.../mi/core/TxThread.java: New file.
-
-2003-01-07 Alain Magloire
-
- * src/.../mi/core/MIInferior.java (getOutputStream): Remove useless assignement.
- * src/.../mi/core/MIPluging.java (debugLog): Not need to be static.
- * src/.../mi/core/cdi/EventManager.java (update): Remove useless assignement.
-
-2003-01-06 Alain Magloire
-
- * build.properties: Patch from Judy Green.
-
-2003-01-06 Alain Magloire
-
- * src/.../mi/core/cdi/BreapoinManager.java (createLocation): new method
- to create a breakoint with an address.
- * src/.../mi/core/cdi/Location.java (Location): New constructor takes
- an address as argument.
-
-2003-01-03 Alain Magloire
-
- The Class creating the CDISession part of the initialization would call
- (gdb) set autosolib on
- this works fine for Unix system, but on Windows it throws an error
- failing the debugger. Windows(Cygwin, MingWin) does not need any
- special initialization like solib-search-paths etc ..
-
- * src/.../mi/core/cdi/SourceManager.java (setAutoSolib): Takes a boolean argument
- to set the autosolib on or off.
- * src/.../mi/core/CygwinGDBDebugger.java(initializeLibraries):
- Empty method, cygwin does not need any special handling.
- * src/.../mi/core/GDBDebugger.java (initializeLibraries):
- Always call autosolib.
-
-
-2003-01-02 Alain Magloire
-
- Bug when using recursive:
- int recursive(int x) {
- if (x > 10)
- recursive(++x);
- return 0;
- }
-
- The Variable Manager is caching the MI/GDB var-obj for speed.
- It is finding the object by looking at the name and the stack/thread,
- for recursive calls, this is wrong and the code would be full in
- thinking the variable "x"(see above) is the same object. To make the distinction
- we use the depth "-stack-info-depth" that will be use also in the equality
- to make sure we identify an object uniquely. In the recursive() case above
- because the depth is different, a new "x" object will be created. The downside
- is that on certain platform doing deep recursive/stackframe, we have noticed
- that "-stack-info-depth" can be very long, test done for gdb/QNX with
- a stack depth of 1000.
-
- * src/.../mi/core/cdi/VariableManager.java (getElement):
- Use the depth when doing equal().
- (createElement): Save the depth of the stack part of the Element.
-
-2003-01-02 Alain Magloire
-
- GDB/MI uses some oob reasons that was not documented for the watchpoints
- *stopped,reason="access-watchpoint-trigger"...
- *stopped,reason="read-watchpoint-trigger",...
- * src/.../mi/core/event/MIWatchpointTrigger.java (parse):
- check for "hw-awpt" and "hw-rwpt".
- * src/.../mi/core/RxThread.java (createEvents):
- Check for "access-watchpoint-trigger", "read-watchpoint-trigger.
-
-2002-12-17 Alain Magloire
-
- * src/.../mi/core/cdi/Register.java (setFormat): bug fix
- The format variable was not set.
-
-2002-12-05 Alain Magloire
-
- GDB/MI provides error messages in its log stream, one problem
- is that it is not consistent, for example doing:
- (gdb) info threads
- & "info threads\n"
- which is obviously not an error.
- So we put the error stream output par of the exception so when
- it is relevant it shows in the Exception.
- MI2CDIException is the bridge class.
-
- * src/.../mi/core/cdi/BreakpoinManager.java:
- * src/.../mi/core/cdi/CSession.java:
- * src/.../mi/core/cdi/CTarget.java:
- * src/.../mi/core/cdi/CThread.java:
- * src/.../mi/core/cdi/MemoryBlock.java:
- * src/.../mi/core/cdi/MemoryManager.java:
- * src/.../mi/core/cdi/Register.java:
- * src/.../mi/core/cdi/RegisterManager.java:
- * src/.../mi/core/cdi/SourceManager.java:
- * src/.../mi/core/cdi/Value.java:
- * src/.../mi/core/cdi/Variable.java:
- * src/.../mi/core/cdi/VariableManager.java:
-
- * src/.../mi/core/command/Command.java (getMIInfo):
- When error get the log stream and put it in the MIException.
- * src/.../mi/core/event/MIErrorEvent.java:
- Get the log stream error also.
- * src/.../mi/core/MIException.java (getLogMessage): New method
- contains buffer output.
- * src/.../mi/core/RxThread.java (processMIOutput): get the
- oob arrays up so it can be use in MIErrorEvent.
-
-2002-12-02 Alain Magloire
-
- * src/.../mi/core/cdi/CTarget.java (updateState): If we
- have the current thread id set it before, getCThread() if
- it is implemented with "info threads" can override it but
- "-stack-list-thread" does not give this information.
- * src/.../mi/core/cdi/ErrorInfo.java: New file
- * src/.../mi/core/cdi/EventManager.java (getReason): Return
- an ErrorInfo also.
- * src/.../mi/core/event/MIErroEvent.java: New file
- * src/.../mi/core/RxThread.java (processMIOutput):
- Generated MIErrorEvent for "^error".
-
-2002-11-29 Alain Magloire
-
- * src/.../mi/core/cdi/EventManager.java (processSuspended):
- get the threadId.
-
-2002-11-29 Alain Magloire
-
- * src/.../mi/core/cdi/MemoryBlock.java (setValue):
- Check if the change affects other block and fire MemoryChangedEvent
- when necessary.
-
-2002-11-29 Alain Magloire
-
- * src/.../mi/core/event/MIBreakpointEvent.java:
- * src/.../mi/core/event/MIFunctionFinishedEvent.java:
- * src/.../mi/core/event/MILocationReachedEvent.java:
- * src/.../mi/core/event/MISignalEvent.java:
- * src/.../mi/core/event/MISteppingRangeEvent.java:
- * src/.../mi/core/event/MIStoppedEvent.java:
- * src/.../mi/core/event/MIWatchpointEvent.java:
- * src/.../mi/core/event/MIWatchpointTriggerEvent.java:
- * src/.../mi/core/RxThread.java:
- Some events like the temporary events, do not have
- any specific format but do provide a frame and a thread-id
- move the code in MIStoppedEvent.
-
-2002-11-28 Alain Magloire
-
- * src/.../mi/core/cdi/MemoryBlock.java (setValue): Only get a byte.
-
-2002-11-28 Alain Magloire
-
- * src/.../mi/core/cdi/CTarget.java (runUntil): new method implemented.
- * src/.../mi/core/cdi/CThread.java (runUntil): new method implemented.
-
-2002-11-26 Doug Schaefer
-
- * src/.../mi/core/CygwinGDBDebugger.java:
- New Debugger that provides the Cygwin Command Factory to the MISession
- * src/.../mi/core/command/CygwinCommandFactory.java:
- New Command Factory for Cygwin specific implementations of the commands
- * src/.../mi/core/command/CygwinMIEnvironmentDirectory.java:
- New. Subclasses the MIEnvironmentDirectory command to convert the
- paths using cygpath.
- * plugin.xml:
- Defines the new debugger extension.
-
-2002-11-25 Alain Magloire
-
- * src/.../mi/core/cdi/Watchpoint.java:
- Check if it was access point also.
- * src/.../mi/core/output/MIBreakInsertInfo.java (parse):
- Check for "wpt" variable.
- * src/.../mi/core/output/MIBreakpoint.java (IsWriteWatchpoint):
- implemented.
-
-2002-11-20 Mikhail Khodjaiants
- Fix for bug 26595.
- * src/.../mi/core/cdi/MemoryManager.java (compareBlocks):
- If the start address of a memory block has changed fir 'changed' event
- only for the corresponding bytes of the overlapping area of new and old blocks.
-
-2002-11-19 Alain Magloire
-
- * src/.../mi/core/cdi/MemoryManager.java (compareBlocks):
- The startAddress() may have change for example if we were
- watching "char *p;" and the address move "p++". Take this
- into account now.
-
-2002-11-18 Alain Magloire
-
- * src/.../mi/core/cdi/StackFrame.java (getCurrentStackFrame):
- if the currentFrame was not set only get the top level
- frame for the current.
- * src/.../mi/core/cdi/CTarget.java (updateStateId):
- Set the currentThreads && currentThreadId.
-
-2002-11-18 Alain Magloire
-
- * src/.../mi/core/cdi/CThread.java (getStackFrameCount):
- Set the new thread before getting the value and restore
- after.
-
-2002-11-14 Alain Magloire
-
- This is needed in post-mortem, application doing a
- very deep recursion and crashing the stack size, for example
- on GNU/Linux it may reach 200000 levels deep. Trying to
- bring in the UI a bactrace tree of 200000 nodes is useless.
- The UI could check the count and do the appropriate action
- by showing ranges etc ..
-
- * src/.../mi/core/cdi/CThread.java (getStackFrame):
- new method with a hi and low.
- (getStackFrameCount): new method.
- * src/.../mi/core/command/CommandFactory.java (createMIStackInfoDepth):
- new method.
- * src/.../mi/core/command/MIStackInfoDepth.java (getMIStackInfoDepthInfo):
- new method.
-
-2002-11-13 Dave Inglis
- * plugin.xml
- Added "native" cpu support.
-
-2002-11-06 Alain Magloire
-
- * src/.../mi/core/cdi/StackFrame.java (getLocals):
- If an exception was thrown, the array may contain null
- entries. Use a list and catch the exception.
-
-2002-11-06 Alain Magloire
-
- * src/.../mi/core/cdi/StackFrame.java (getArguments):
- If an exception was thrown, the array may contain null
- entries. Use and a List and catch the exception.
-
-2002-11-05 Alain Magloire
-
- * src/.../mi/core/cdi/Register.java (setValue): Fire a
- MIRegisterChangedEvent when changing value.
- Fix PR:25730
-
-2002-11-01 Alain Magloire
-
- The change in MISession(), will catch things like starting gdb-5.0
- with argument "-i mi1", that level of mi is not supported.
-
- * src/.../mi/core/cdi/MemoryBlock.java (refresh): When doing the refresh
- check if other blocks wehre affected and update them.
- * src/.../mi/core/cdi/MemoryManager.java (update): Return the array of
- affected addresses.
- * src/.../mi/core/MIPlugin.java (createCSession): Do not throw an
- error when trying "set new-console", it does not work on Linux.
- * src/.../mi/core/MISession.java (MISession): Check if the process
- terminated early, maybe because of wron arguments etc .. and throw
- the exception.
-
-2002-11-1 David Inglis
- * src/.../mi/core/MIPlugin.java
- throw MIExceptions in createSession (not rethorwn IOExceptions)
-
-2002-10-30 Alain Magloire
-
- * src/.../core/cdi/MemoryBlock.java (setDirty): When need a
- refresh setDirty() to true.
- (isDirty): Return the flag value.
-
- * src/.../core/cdi/MemoryManager.java (update): Check if
- the MemoryBlock isDirty().
-
-2002-10-30 Alain Magloire
-
- * src/.../core/cdi/MemoryBlock.java (setValue): reuse refresh()
- to update the memory and fire any MemoryChangedEvents.
-
-2002-10-26 Alain Magloire
-
- * src/.../core/cdi/MemoryBlock.java (setValue): Generate
- a MemoryChangeEvent when the value is set, gdb/mi will not
- do it.
-
-2002-10-25 Alain Magloire
-
- * src/.../core/cdi/CThread.java (getStackFrames): Save the
- current thread before changing and restore when operation finish.
-
- * src/.../core/cdi/MemoryBlock.java (refresh): Flush the old
- data and get new memory.
- (update): New method to compare individual blocks.
-
-2002-10-25 Alain Magloire
-
- Automatically suspend/resume gdb when setting a breakpoint.
- The workflow when debuggin which gdb command prompt is to
- hit CTRL-C set the breakpoint and continue. The UI debugger
- should be smart enought to do this by itself. So if the
- inferior is running, when setting a breakpoint the program
- is suspended(target.suspend()), the suspend event is ignore
- the breakpoint is set (--break-insert) and the target is resume.
- To ignore a specific event, we use a (mis)behaviour of gdb that
- associate the suspend(*stopped) with the last execution command.
- (gdb)
- 111-exec-continue
- 111^running
- (gdb)
- 222-exec-interrupt
- 222^done
- (gdb)
- 111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
- frame={addr="0x00010140",func="foo",args=[],file="try.c",line="13"}
- (gdb)
- In the case above event 111 is ignore.
-
- * src/.../core/command/CLICommand.java (toString): Always put
- the identifying token.
- * src/.../core/command/Command.java (setToken): Removed.
- (getUniqToken): New method returns a global uniq token.
- (getToken): Returns a uniq token for the command.
- * src/.../core/MIInferior.java (setTerminated): New argument token,
- since now all MIEvent has the corresponding command token.
- * src/.../core/MISession.java (cmdCount): Removed.
- (postCommand): the command getToken() will return a uniq token.
- * src/.../core/RxThread.java (processMIOOBRecord): MIEvent take
- the corresponding command token as argument.
- * src/.../core/TxThrea.java (token): Field removed, token are no
- longer created in this tread.
- * src/.../core/event/MIBreakpointEvent.java:
- * src/.../core/event/MIBreakpointEvent.java:
- * src/.../core/event/MIChangedEvent.java:
- * src/.../core/event/MIDetachedEvent.java:
- * src/.../core/event/MIEvent.java:
- * src/.../core/event/MIFunctionFinishedEvent.java:
- * src/.../core/event/MIGDBExitEvent.java:
- * src/.../core/event/MIInferiorExitEvent.java:
- * src/.../core/event/MILocationReachedEvent.java:
- * src/.../core/event/MIMemoryChangedEvent.java:
- * src/.../core/event/MIRegisterChangedEvent.java:
- * src/.../core/event/MIRunningEvent.java:
- * src/.../core/event/MISignalEvent.java:
- * src/.../core/event/MISteppingRangeEvent.java:
- * src/.../core/event/MIStoppedEvent.java:
- * src/.../core/event/MIThreadExitEvent.java:
- * src/.../core/event/MIVarChangedEvent.java:
- * src/.../core/event/MIWatchpointScopeEvent.java:
- * src/.../core/event/MIWatchpointTriggerEvent.java:
- Calls super with getToken().
- * src/.../core/cdi/BreakpointManager.java (allowProgramInterruption):
- New method to allow suspending the program to set a breakpoint.
- (suspendInferior): get the last token execution an ignore the suspend
- event.
- * src/.../core/cdi/CTarget.java (getLastExecutionToken): New method
- returns the token of the last execution command.
- * src/.../core/cdi/EventManager.java (enableEventToken): New method.
- (enableEventTokens): New method.
- (disableEventToken): New method.
- (disableEventTokens): New method.
- (update): Ignore token in the disable list.
- * src/.../core/cdi/RegisterManager.java (update): MIEvent takes
- a token.
- * src/.../core/cdi/Variable.java (setValue): MIEvent takes a token.
- * src/.../core/cdi/VariableManager.java (update): MIEvent takes a token.
-
-2002-10-24 Alain Magloire
-
- * src/.../core/RxThread.java (processMIOutput): Fire a
- suspended event when seeing an error.
-
-2002-10-24 Alain Magloire
-
- * src/.../core/output/MIConst.java (isoC): Change to return
- a string instead '\n' is platform dependent and has to be
- translate to "\r\n" for SWT widgets to work correctly on windows.
-
-2002-10-23 Alain Magloire
-
- gdb/mi for program control command will fire a change state event:
- -exec-run
- ^running
- This allow the UI to change its state and wait for the suspended.
- Providing a gdb prompt adds some problems, since there is no state
- change, i.e.(^running) after command like, next/step/...:
- next
- &"next\n"
- ...
- So to palliate, the txthread do some query when the commands are
- CLI commands trying to discover the type and fire any appropriate
- events on behalf on gdb.
-
- * src/.../core/RxThread.java (createEvent): Adjust the parser to
- not rely on the oob "*stopped", since for CLI command it is not
- in the result-class. So the suspended state will be base of
- the "reason" only.
- * src/.../core/TxThread.java (processCLICommand): new method,
- get the command and try to recognize if it is a program control
- command like: next, step, etc ..
- * src/.../core/command/CLICommand.java (getOperation): New method,
- returns the command string.
-
-2002-10-22 Alain Magloire
-
- Change the framework to support access to gdb prompt.
- Trying to reuse as much as possible Eclipse framework.
- The session/gdb process is available via CDI.
-
- * src/.../core/GDBStreamsProxy.java: Removed.
- * src/.../core/GDBProcess.java: Removed.
- * src/.../core/GDBStreamMonitor.java: Removed.
- * src/.../core/SessionProcess.java: New file.
- * src/.../core/MISession.java (getMISessionProcess):
- New method, returns a "fake" Process that wraps the input/outpu
- stream of gdb.
- (getGDBProcess): was getMIProcess(), renamed.
- * src/.../core/cdi/CSession.java (getSessionProcess): New method
- return gdb process.
-
-2002-10-22 Alain Magloire
-
- * src/.../core/GDBStreamsProxy.java (write):
- Replace the OutputStream with a Write class.
- And clear the buffer on flush().
-
-2002-10-21 Alain Magloire
-
- * src/.../core/GDBProcess.java (getExitValue): Catch
- IllegalThreadStateException.
- (getAttribute): Only create Properties, when call.
- (setAttribute): Only create Properties, when call.
- (getAdapter): Implemented.
- (canTerminate): true only of the process is alive.
- (GDBProcess): Takes one more argument the name.
- * src/.../core/GDBStreamMonitor.java (fireStreamAppend): New method.
- Use a synchronized LinkedList for the listeners.
- (read): new Method.
- (startMonitoring): New method, start a thread in the background
- to monitor the input.
- * src/.../core/GDBStreamsProxy.java (getErrorStream): Start the monitor thread.
- (getOutputStream): Start the monitor thread.
-
-2002-10-21 Alain Magloire
-
- Framework for having a gdb console. The idea is to reuse
- the eclipse console and save a lot of work. We "adapt"
- the gdb Process to what eclipse debug LaunchView wants(IProcess).
- So when this fake "gdb process" is selected we can grab the
- input/output of the console and redirect everything to raw gdb.
-
- * src/.../core/GDBProcess.java: New file, it implements Eclipse
- debug class IProcess.
- * src/.../core/GDBStreamMonitor: New file, it implements Eclipse
- debug class IStreamMonitor.
- * src/.../core/GDBStreamsProxy: New file, it implements Eclipse
- debug class IStreamsProxy.
- * src/../core/MISession.java (getMIConsoleStream): New method
- to return the mi console stream output that we get from gdb/mi.
- (getMILogStream): New method, to return the mi log stream output
- that we get from gdb/mi.
- (terminate): close the fake MI Console and Log streams.
- * src/../core/RxThread.java (processMIOOBRecord): Redirect the
- console and the log stream to a buffer pipe.
-
-2002-10-21 Alain Magloire
-
- * src/.../core/cdi/EventManager.java (update): Only
- fire the event for MemoryChangedEvent if the block was
- not frozen.
-
-2002-10-20 Alain Magloire
-
- Eclipse provides plugins a way to trace by having an .options file,
- this mechanism is use to print out the mi exchange between gdb
- and the plugin. To enable this in the debug launch one must enable
- "tracing" and set for the "org.eclipse.debug.mi.core/debug" to true.
- But one problem, the console will simply blow taking down eclipse,
- for big MI line response, say 4k length, for example asking the children
- of "char buffer[4096]", -var-list-children varxx.
- This seem only to happen in Eclipse-gtk or Eclipse-motif
- on GNU/Linux, so it will be break in smaller chunks to give a chance to
- the console.
-
- * .options: Set debug to true.
- * src/.../core/MIPlugin.java (debugLog): Break the log line in small chuncks of 100.
- * src/.../core/MISession.java (postCommand): Print the gdb/mi command.
- * src/.../core/RxThread.java (run): Print gdb/mi responses.
-
-2002-10-20 Alain Magloire
-
- -data-write-register-values is not in the texinfo manual but implemented in
- gdb-5.2.1/gdb/mi/mim-main.c:
- Write given values into registers. The registers and values are
- given as pairs. The corresponding MI command is
- -data-write-register-values <format> [<regnum1> <value1>...<regnumN> <valueN>]
-
- * src/.../core/command/MIDataWriteRegisterValues.java: New file.
- * src/.../core/command/CommandFactory.java (createMIDataWriteMemory): New method.
- * src/.../core/cdi/Register.java (setValue): Implemented.
-
-2002-10-20 Alain Magloire
-
- Althought -data-write-memory is not documented in the texinfo manual
- it is implemented and well documented in the code(gdb-5.2.1/gdb/mi/mi-main.c).
- "mi_cmd_data_write_memory: Usage: [-o COLUMN_OFFSET] ADDR FORMAT WORD-SIZE VALUE.");
-
- * src/.../core/command/MIDataWriteMemory.java: New file
- * src/.../core/command/CommandFactory.java (createMIDataWriteMemory): New method.
- * src/.../core/cdi/MemoryBlock.java (setValue): Implemented.
-
-2002-10-20 Alain Magloire
-
- * src/.../core/cdi/CTarget.java (getMemoryBlock): Remove
- we use the MemoryManager instead.
- (EvaluateExpressionToValue): Removed not use.
- * src/.../core/cdi/SourceManager.java (setFile): Removed not use.
- (getFile): Removed not use.
- (reset): Removed not use.
-
-2002-10-19 Alain Magloire
-
- The responsability to generate Events for modify memory blocks is push
- on the CDI implementation. The way we do this is every time consuming,
- when the inferior is suspended(see EventManager.processSuspendedEvent()),
- MemoryManager.update() is called, the method will go through the list of MemoryBlocks
- that are not MemoryBlocks.setFrozen() and fetch the new memories, the data is compare
- and MemoryChangedEvents are fired for blocks with changed values.
- Gdb/mi var objects does not seem to provide any support for Memory ranges.
-
- * src/.../core/cdi/MemoryChangedEvent.java: New File implements ICDIMemoryChangedEvent.
- * src/.../core/cdi/EventManager.java (update): Process MIMemoryChangedEvent's.
- (processSuspendedEvent): call MemoryManager.update().
- * src/.../core/cdi/MemoryBlock.java (getExpression): New method.
- (getMIDataReadMemoryInfo): New method.
- (setMIDataReadMemoryInfo): New method.
- * src/.../core/cdi/MemoryManager.java (update): New method.
- (compareBlock): New method.
- (listMemoryBlocks): New method.
-
- * src/.../core/cdi/CTarget.java (setCurrentThread): Catch null pointer.
- (getCThreads): Likewise.
- * src/.../core/event/MIMemoryChangedEvent.java: New File.
- * src/.../core/event/MIThreadExitEvent.java: Indentation fixes.
- * src/.../core/event/MIVarChangedEvent.java: Indentation fixes.
-
-
-
-2002-10-16 Alain Magloire
-
- * src/.../mi/core/cdi/MemoryManager.java (createMemoryBlock):
- New method that takes a string instead of a long, rearrange
- the method for it.
-
-2002-10-12 Alain Magloire
-
- There are some serious problems with gdb/mi, for example
- the most recurrent one is when using -data-disassemble
- in a threaded program, GNU/Linux uses a thread manager
- when trying to access the stackframe, gdb usually coredumps
- with an assert, it goes something like this:
-
--data-disassemble -f manager.c -l 136 -n 100 0
-&"Cannot access memory at address 0x4002d794\n"
-^error,msg="Cannot access memory at address 0x4002d794"
-(gdb)
--data-disassemble -s 0x4002d900 -e 0x4002d964 0
-&"Cannot access memory at address 0x4002d900\n"
-^error,msg="Cannot access memory at address 0x4002d900"
-(gdb)
--thread-select 2
-&"ui-out.c:133: gdb-internal-error: push_level: Assertion `uiout->level >= 0 && uiout->level < MAX_UI_OUT_LEVELS' failed.\n"
-
- The RxThread will spawn a thread to terminate the session
- and clear the receiving queue.
-
-
- * RxThread.java (run): When the thread is being cancel() or
- running out of run(), clear the receiving queue(rxQueue) and
- notify any commands waiting.
-
- * TxTread.java (run): Before putting the command in the
- receiving queue(rxQueue) check to see if the thread is
- still running.
- When the thread is being cancel() or running out of run(),
- clear the transmition queue(txQueue) an notify any commands
- waiting.
-
- * Queue.java (clearItems): New method that clear the items
- on the queue and returning them.
-
- * CommandQueue.java (clearCommands): New method calls super.clearItems()
- whith the appropriate castings.
-
- * cdi/CThread.java (setCurrentStackFrame): Check for null.
-
-2002-10-12 Alain Magloire
-
- The memory block is implemented with
- -data-read-memory (MIDataReadMemory)
- Since the ICDIMemoryBlock only have
- byte[] getBytes()
- We will always issue:
- -data-read-memory address x 1 1 length
- The CDI upper layer will deal with any conversions
-
- The problem now is how to send changedEvent when
- an element of the memory changed.
-
- * cdi/MemoryBlock.java (getLength): Implemented
- (getBytes): Implemented
- (getStartAddress): Implemented
-
- * cdi/MemoryManager.java: Implemented.
-
- * command/MIDataReadMemory (getMIDataReadMemoryInfo):
- New helper method.
-
-2002-10-12 Alain Magloire
-
- * cdi/Location (getInstructions): Methods removed
- no longer define in ICDILocation.
-
-2002-10-11 Alain Magloire
-
- * cdi/SourceManager (getMixedInstruction):
- Implement the 3 new methods to return Mixed source
- and assemby instructions.
-
- * cdi/MixedInstruction: New class implements
- ICDIMixedInstruction.
-
-2002-10-11 Alain Magloire
-
- * cdi/ExpressionManager.java: Not needed, removed.
-
-2002-10-10 Alain Magloire
-
- The Eclipse/UI/Debug framewok is being very repetive
- and each command can be ask 2, 3 times. So we'll try
- to make certain commands smarter by not reissuing them
- to gdb if the state is the same. We do this when
- selecting the thread and when selecting the stackframe.
-
- The other problem is that Eclipse/UI/Debug is calling
- ICDISession.terminate() twice, this is catch by looking
- at isTerminated().
-
- * cdi/CThread.java (setCurrentStackFrame): Make it smarter
- to not reselect the stack level if it is already at that
- level.
-
- * MISession.java (isTerminated): Declare a flag that will
- hold the state.
- (terminate): Check if it was call already.
-
-2002-10-10 Alain Magloire
-
- * SourceManager.java: Implement getInstructions().
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog-2003 b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog-2003
new file mode 100644
index 00000000000..60b45209194
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog-2003
@@ -0,0 +1,2151 @@
+2003-12-22 Mikhail Khodjaiants
+ Fix for bug 49282 terminate the gdb session if the termination of the inferior fails.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+
+2003-12-22 Mikhail Khodjaiants
+ Fix for Bug 49278 do not retry the "info threads" command if the first attempt fails.
+ Throw an exception from the "getCThreads" method when it fails.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+
+2003-12-18 Alain Magloire
+
+ PR 49148
+ Set environment variable value to give the program.
+ Arguments are VAR VALUE where VAR is variable name and VALUE is value.
+ VALUES of environment variables are uninterpreted strings.
+ This does not affect the program until the next "run" command.
+
+ So pass the string raw.
+
+ * src/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
+ * src/org/eclipse/cdt/debug/mi/core/CommandFactory.java
+
+2003-12-17 Mikhail Khodjaiants
+
+ Fix for bug 49061: Different values are used as default for the "Load shared library symbols automatically" option.
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/IMILaunchConfigurationConstants.java
+ * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
+
+2003-12-16 Mikhail Khodjaiants
+
+ Show the gdb arguments when tracing.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+
+2003-12-16 Mikhail Khodjaiants
+
+ Fix for PR 48870: Terminate gdb if attach to process fails.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+
+2003-12-09 Alain Magloire
+
+ Do not try to interrupt if the target was suspended.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
+
+2003-12-08 Alain Magloire
+
+ Target.terminate() did not pass the exception up.
+ Added new method MIInferior.terminate().
+
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+
+2003-12-02 Alain Magloire
+
+ Retry the stack-info-depth when it fails the first time
+ and decrement the count. GDB can cope up the second try
+ and probably mark the thread invalid.
+ Patch base on Ashish Karkare patch:
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
+
+2003-11-26 Mikhail Khodjaiants
+ Cleanup.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+
+2003-11-26 Mikhail Khodjaiants
+ Cleanup.
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ResumedEvent.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+ * src/org/eclipse/cdt/debug/mi/core/command/MIBreakAfter.java
+ * src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
+ * src/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java
+ * src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
+ * src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
+ * src/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java
+ * src/org/eclipse/cdt/debug/mi/core/output/MIGDBShowSolibSearchPathInfo.java
+ * src/org/eclipse/cdt/debug/mi/core/output/MIList.java
+
+2003-11-25 Alain Magloire
+
+ Process the suspend event even if there is not threads
+ or stack associated with the target.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java
+
+2003-11-22 Alain Magloire
+
+ In MISession constructor if the initialization fails shutdown
+ the Tx/RX/Event threads.
+ In MIPlugin if the initialization fails shutdown the pty console.
+ Ditto for GDBDebugger/GDBServerDebugger/CygwinGDBDebugger.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+ * src/org/eclipse/cdt/debug/mi/core/MISession.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+ * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
+
+2003-11-21 Alain Magloire
+
+ The wrong MIPlugin.createCSession() method was used.
+ Problem noted by Ashish.
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+
+2003-11-21 Mikhail Khodjaiants
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
+ Fix for PR 46592: Debug View shows Functions as func(type param,...)().
+ Return an empty string instead of "??" if the function name is not available.
+
+2003-11-20 Alain Magloire
+
+ Fix NPE: 46313. Setting breakpoint when the target was running
+ was throwing NPE.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
+ * src/org/eclipse/cdt/debug/mi/core/cdit/EventManager.java
+
+2003-11-19 Mikhail Khodjaiants
+
+ Fix for PR 45533: MIException while creating MISession can leave an orphan gdb process.
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java: removed the 'getAdjustedTimeout' method.
+
+2003-11-19 Mikhail Khodjaiants
+
+ Fix for PR 45533: MIException while creating MISession can leave an orphan gdb process.
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java: initialization of preferences by default values.
+ * src/org/eclipse/cdt/debug/mi/core/MISession.java: removed the duplicate constant for the default
+ launch timeout value.
+
+2003-11-13 Mikhail Khodjaiants
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
+ Fix for PR 46592: Debug View shows Functions as func(type param,...)().
+ In some situations gdb returns the function names that include parameter types.
+ To make the presentation consistent truncate the parameters.
+
+2003-11-06 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java:
+ Small fix for the defferred breakpoint support.
+
+2003-11-06 Alain Magloire
+
+ Patch from Ashish Karkare:
+ A CDT 1.2 patch that enables setting of
+ serial line speed in the launch configuration when debugging remote targets.
+
+ * src/org/eclipse/cdt/debug/mi/core/IGDBServerMILaunchConfigurationConstants.java
+ New attribute definition DEV_SPEED.
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+ Extracts serial speed value and passes it to createCSession().
+
+
+2003-10-29 Alain Magloire
+
+ Deal with PR 45533
+
+ Make a preferenc for Timeout and use it when launching
+ the ICDebugger session, when way wait for for gdb
+ to say "ready" by returning the prompt.
+
+ * src/org/eclipse/cdt/debug/mi/core/MISession.java
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+ * src/org/eclipse/cdt/debug/mi/core/IMIConstants.java
+
+2003-10-17 Alain Magloire
+
+ Put the framework to deal with deferred breakpoint.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ResumeEvent.java
+ Deal with MIRunningEvent.RETURN.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java
+ Check if MIBreakpoint is null first.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java
+ Check if MIWathchpoint is null first.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
+ Implement Deferred Breakpoint
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
+ Implement Deferred Breakpoint
+ * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
+ Enable deferredBreakpoint.
+ * src/org/eclipse/cdt/debug/mi/core/CygwinDebugger.java
+ Enable deferredBreakpoint.
+
+
+2003-10-07 Mikhail Khodjaiants
+
+ All methods of 'IRuntimeOptions' should throw CDI exceptions in case of failure.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
+
+2003-09-30 Alain Magloire
+
+ ICDIVariableObject.equals();
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
+
+2003-09-29 Mikhail Khodjaiants
+ Added the initialization of the shared libraries' attributes to CygwinGDBDebugger.
+
+ * src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
+
+2003-09-26 Alain Magloire
+
+ Second part of PR 43496.
+ On the startup of GDB, we have to wait for "(gdb)" prompt
+ to make sure that gdb is ready to accept command.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+
+2003-09-25 Alain Magloire
+
+ Fix for PR 43496.
+ In the event of an error we should Process.destroy()
+ after creating the Process.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+
+2003-09-11 Mikhail Khodjaiants
+ Moving the shared library search paths block to mi UI.
+ * IMILaunchConfigurationConstants.java: added the 'ATTR_DEBUGGER_SOLIB_PATH' attribute.
+
+2003-09-11 Alain Magloire
+
+ Fix to info shared parsing.
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibary.java
+
+2003-09-09 Mikhail Khodjaiants
+ Regrouping the launch configuration constants.
+ * IMILaunchConfigurationConstants.java
+
+2003-09-09 Mikhail Khodjaiants
+ Added the 'stop-on-solib-events' option.
+ Changed the initialization of the shared library search path.
+ Changed the messages of the thrown exceptions.
+ * GDBDebugger.java
+
+2003-09-09 Mikhail Khodjaiants
+
+ CoreFileConfiguration supports shared libraries.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java
+
+2003-08-30 Alain Magloire
+
+ Unnecessary synchronization making deadlocks. Should revisit this code.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java
+
+2003-08-29 Mikhail Khodjaiants
+
+ Added new command - 'set stop-on-solib-events'.
+
+ * src/org/eclipse/cdt/debug/mi/core/command/MIGDBSetStopOnSolibEvents.java
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java
+
+ Implementation of the new methods added to the 'ICDISharedLibraryManager' interface.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
+
+2003-08-26 Alain Magloire
+
+ This is still a hack: "info shared" the real solution
+ is to implement in GDB/MI the corresponding command.
+ So now we do weird parsing, that varies from platform
+ to platform. For example Cygwin output of "info shared"
+ is totally different from the GNU/Linux one etc ...
+ We the best we can to cope ... but things will break.
+
+ * src/org/eclipse.cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java
+
+2003-08-26 Alain Magloire
+
+ Using the wrong method for toString() and we were returning
+ a overly verbose string.
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+
+2003-08-25 Alain Magloire
+
+ Small fix, get the datatype for the GDBTypeParser.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
+
+2003-08-22 Alain Magloire
+
+ For casting array we use the "@" format, hide it in
+ the name. But show it the qualifiedName() since the
+ expression is use to evaluate.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
+
+2003-08-21 Alain Magloire
+
+ GDB varobj for the arrays children name only returns
+ the index. We need to construct the entire name:
+ char buffer[2]
+ GDB return "0", "1" for the children names.
+ We will return
+ "buffer[0]", "buffer[1]"
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/Variable.java
+
+2003-08-20 Alain Magloire
+
+ GDB/MI altough define an interface that all commands should
+ follow .. they do not. For example, we should be able
+ to separate options from agument with a "--" string not
+ all commands. The latest is -break-condition.
+ So we override the MICommand.toString() to do specific
+ parsing for specific commands.
+
+ * src/org/eclipse/cdt/debug/mi/core/command/MICommand.java
+ break the toString() method.
+ * src/org/eclipse/cdt/debug/mi/core/command/MIBreakCondition.java
+
+2003-08-19 Alain Magloire
+
+ Fix to the GDBTypeParser to deal with gdb
+ awkwardness
+ * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+
+2003-08-19 Alain Magloire
+
+ GDB, uses false category for C++ class/struct.
+ Fix to return the correct name.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+
+2003-08-18 Alain Magloire
+
+ Patch from Chris Songer, excerpt from the email.
+ Using the phrase "To ensure consistency between a register name and its
+ number, the output list may include empty register names," the MI protocol
+ appears to allow gdb to return a "sparse" array of registers by giving a 0
+ length name in response to the -data-list-register-names-command. CDT 1.0.1
+ does not handle this especially well and subsequently exposes a bug in GDB
+ 5.1.3 and crashes it if the debugger has more than 3 register names of 0
+ length.
+
+ example:
+
+ 8-data-list-register-names
+ (gdb)
+ 8^done,register-names=["ar0","ar1",... ,"","","","","","","ur0",\
+ "ur1","ur2","ur3","ur4","ur5","ur6","ur7","","" ..]
+
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIDataListRegisterNamesInfo.java:
+ New method getNumRealNames().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
+ Check if the register name is not empty.
+
+2003-08-18 Alain Magloire
+
+ From the manual:
+ By default GDB will automatically keep track of objects as they are
+ loaded and unloaded by the dynamic linker. By using the command `set
+ stop-on-solib-events 1' you can arrange for GDB to stop the inferior
+ when shared library events occur, thus allowing you to set breakpoints
+ in shared libraries which are explicitly loaded by the inferior.
+
+ * src/org/eclipse/cdt/debug/mi/core/event/MISharedLibEvent.java:
+ New file, StoppedEvent du to shared lib events.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/SuspendedEvent.java:
+ Catch MISharedLibEvent.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryevent.java:
+ New file implements ICDISharedLibaryEvent.
+ * src/org/eclipse/cdt/debug/mi/core/RxThread.java:
+ Hack to catch suspend/stop on shared library.
+
+2003-08-11 Mikhail Khodjaiants
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Removed the 'type' parameter from the 'getVariableObjectAsArray' method.
+
+2003-08-11 Mikhail Khodjaiants
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
+ The 'type' argument of the 'getVariableObjectAsArray' method shouldn't be null.
+
+2003-08-11 Mikhail Khodjaiants
+ * src/org/eclipse/cdt/debug/mi/core/cdi/variableManager.java
+ Mistype in the 'CheckType' method.
+
+2003-08-07 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/variableManager.java
+ getVariableObjectAsArray() ignore the type argument it does
+ not work with gdb.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
+ Added hasChildren() method.
+
+2003-08-07 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Update the interface to reflect ICDIVariableManager.
+
+2003-08-06 Mikhail Khodjaiants
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
+ Removed the unused local variable 'children' from the 'getVariables' method.
+
+2003-08-07 Alain Magloire
+
+ PR 38964.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java:
+ The method interrupted was synchronized and so was the
+ setSuspended(). Now do a notify when the status change.
+ Throw an exception if the interrupt() failed.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
+ Do not check for running.
+
+2003-08-06 Alain Magloire
+
+ Dealing with casting: Casting a field of a structure did not
+ work properly for example:
+ struct foo { int bar; } foobar;
+ To cast the field bar, we need to construct the full qualified
+ name "foobar.bar".
+ Unfortunately for C++ things are hectic in the GDB/MI world
+ the childre of structure are not the fields. So we try to
+ deal with it too.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
+ New constructor, new method getLanguage() to deal with
+ different type of languages ex: C vs C++.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ Clean up and added a bunch of set/getXXX() methods instead of
+ accessing directly the fields.
+ * src/og/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Clean the methods use for casting and format the indentation.
+ * src/org/eclipse/cdt/debug/mi/core/command/MIVarInfoExpression.java:
+ Added parsing method.
+
+2003-08-06 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ Implement isEditable method.
+
+2003-08-06 Mikhail Khodjaiants
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
+ Fix for 'isEditable'.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ Use correct expression in 'sizeof'.
+
+2003-08-06 Alain Magloire
+
+ First framework to deal with breaking the arrays in ranges.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java:
+ Remove unused getArgumentObject().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
+ Remove unuse getRegisterObject().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
+ Move methods to VariableObject to comply with the interface.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ Implement new methods of ICDIVariableObject.java
+ Save the castin information.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java:
+ New method getVariables(int, int).
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ New method encodeVariable(), to get the encode specific string
+ for gdb casting of arrays.
+
+2003-07-28 Mikhail Khodjaiants
+
+ Minimize the number of the "evaluate expression" requests when changing the value of the floating point types.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
+
+2003-07-17 Alain Magloire
+
+ Catch the use of cli command "detach" and fire the appropriate events.
+
+ * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
+
+2003-07-16 Alain Magloire
+
+ Provide FunctionValue, PointerValue and ArrayValue.
+ For ArrayValue apply the patch from Chris Songer, excerpt from
+ his email:
+ Given GDB performance, we saw CDT start to time out on large array
+ requests. The following patch corrects this by scaling the time out with
+ the number of children being retrieved. I have not looked at the head on
+ this so your mileage may vary. On 1.0.1 with this and the MIParser change
+ you can open 16k arrays.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/AggregateValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DerivedValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValueValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+
+2003-07-10 Alain Magloire
+
+ In the case of not having a PTY to unmixed inferior output from gdb commands
+ do the only sane thing and when a response comes in that is not a valid
+ MI format consider it as inferior output.
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIParser.java:
+ Put non valid lines in the TargetStream.
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java:
+ Pass output straight to the target.
+ * src/org/eclipse/cdt/debug/mi/core/TxThread.java:
+ Remove unused code.
+ * src/org/eclipse/cdt/debug/mi/core/command/Command.java:
+ Try to remove duplicate errors when throwing the MIException.
+
+2003-07-08 Alain Magloire
+
+ Unfortunately GDB/MI does not make the errors available via the advertise
+ way explain in the documentation, for example:
+ 27-var-create - * this->aaa
+ &"There is no member or method named aaa.\n"
+ &"Type Hello has no component named aaa.\n"
+ 27^error,msg="."
+
+ According to the doc, the error should be available in the msg field:
+ 27^error,msg="There is no member or method named aaaa"
+
+ Since this will not be fix in GDB/MI anytime soon, we cope with it by
+ grabing the logstream error and make it available in
+
+ CDIException.getDetailedMesssage().
+
+ * src/org/eclipse/cdt/debug/mi/core/command/*.java: All the commands
+ changed to grab also the logstream messages if any for the exception.
+
+2003-06-25 Alain Magloire
+
+ Patch from Chris Songer, excerpt from its email:
+ The MIParser is O(N^2) time in the length of a line returned from GDB.
+ While not an issue for OOB messages, this can be quite an issue for array
+ retrieval from the target and other potentially long messages. It's N^2
+ because it relies on StringBuffer.deleteCharAt( 0 ) and
+ StringBuffer.delete( 0, X ). These operations appear to do a copy of the
+ remaining data in the Sun Java library rather than bumping some index.
+
+ The following diffs are code that we are using on 1.0.1 to correct this
+ issue. It's relatively new, so there may be some bugs but has certainly
+ performed just fine in our initial regressions. Because of that I'm not
+ sending it in as a patch, more an FYI really. The basic change is exactly
+ what you'd expect: these diffs make MIParser use a new type of string
+ buffer that's quite efficient at deleting from the head of the array.
+
+ * src/org/eclipse/cdt/debug/mi/core/output/MIParser.java
+
+2003-06-18 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java:
+ Check if the variable was a register.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/CreatedEvent.java:
+ Cleanup.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
+ Removing of method {get,set}Value() and new method getChildren().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+ (setValue): calls update on the appropriate manager.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterValue.java:
+ Remove file, unused.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ (getVariableObjectAsType): check for register.
+ (getVariableObjectAsArray): check for register.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
+ (getRegister): reimplemented.
+
+2003-06-18 Mikhail Khodjaiants
+ Removed unused local variable.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
+
+2003-06-17 Alain Magloire
+
+ PR 38934
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java (update):
+ We have to call "-var-update" to update the register values in gdb.
+
+2003-06-05 Mikhail Khodjaiants
+ gdb/mi support of infinite values of the floating point types.
+ * DoubleValue.java
+ * FloatingPointValue.java
+ * FloatValue.java
+
+2003-06-05 Mikhail Khodjaiants
+ Removed the redundant methods from the 'ICDIFloatingPointValue' interface.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
+
+2003-06-04 Mikhail Khodjaiants
+ Correction in the parsing of reference value.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java
+
+2003-06-04 Mikhail Khodjaiants
+ Added some missing types and methods for the type parsing.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayType.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DoubleValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatValue.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerValue.java: new
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java: new
+
+2003-06-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java:
+ Bug fix gdb returns fix like "char [200]" no variables.
+
+2003-06-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
+ (getType): save the head of the type for the return value.
+
+2003-06-02 Alain Magloire
+
+ Enable the new type parsing with the class GDBTypeParser.
+ This class takes the output of GDB/MI
+ (gdb) whatis
+ or
+ (gdb) ptype
+ And parse it.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/ArrayType.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/DerivedType.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/PointerType.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
+ * src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+
+2003-05-25 Alain Magloire
+
+ Do extra parsing.
+ * src/org/eclipse/cdt/debug/mi/core/model/type/ArrayType.java
+ * src/org/eclipse/cdt/debug/mi/core/model/type/DerivedType.java
+ * src/org/eclipse/cdt/debug/mi/core/model/type/PointerType.java
+ * src/org/eclipse/cdt/debug/mi/core/model/type/FunctionType.java
+ * src/org/eclipse/cdt/debug/mi/core/model/Variable.java
+
+2003-05-24 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java
+ When execption reset the variable to null and rethrow the exception.
+
+2003-05-24 Alain Magloire
+
+ Continuing the implementation of types.
+ ICDIType is ICDIObject.
+ * src/org/eclispe/cdt/mi/core/cdi/model/type/Type.java:
+ Extends CObject
+
+2003-05-23 Alain Magloire
+
+ Draft implementation of org.eclipse.cdt.debug.core.cdi.model.type/*
+
+2003-05-06 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java (suspend):
+ Suspend the program before selecting the thread.
+
+2003-05-01 Mikhail Khodjaiants
+ Implementations of the new "terminateSessionOnExit" method of ICDIConfiguration.
+ * Configuration.java
+ * CoreFileConfiguration.java
+
+2003-04-30 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java:
+ Call MIInferior.update() if attaching session.
+
+2003-04-30 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java (supportsTerminate):
+ Returns true.
+
+2003-04-25 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/EventManager.java (update):
+ Remove the call to MIInferior.update(), wrong place.
+ * src/org/eclipse/cdt/debug/mi/core/EventThread.java (run):
+ Call MIInferior.update() when suspended.
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (update):
+ Do not do the call to "info program" for type "attached" sessions.
+ * src/org/eclipse/cdt/debug/mi/core/MISession.java (terminate):
+ When terminate() is call disable posting commands to the queue etc...
+
+2003-04-25 Mikhail Khodjaiants
+
+ Fix for bug 36909.
+ * MIFrame.java:
+ gdb returns "??" as a function name if symbols are not available.
+ Set the function name in this case to "";
+
+2003-04-24 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIInfoProgram):
+ New method.
+ * src/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java:
+ New file, "info program".
+ * src/org/eclipse/cdt/debug/mi/core/output/MIInfoProgramInfo.java:
+ New file, parsing of "info Program".
+ * src/org/eclipse/cdt/debug/mi/core/output/EventManager.java (processSuspend):
+ Call MIInferio.update();
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (update):
+ New method to retrieve the pid.
+ (interrupt): Try doing Spawner.raise(pid, INT) as a fallback.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java (supportSuspend):
+ Bug fix.
+
+2003-04-23 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java (update):
+ Move the creation of the list after the call to "info signals".
+ The call may fail.
+
+2003-04-21 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/Target.java (suspend):
+ Remove the delay of 10 secs.
+ * src/org/eclipse/cdt/debug/mi/core/MIInferior.java (interrupt):
+ Do a delay of 10 secs to allow time for the inferior to stop.
+ * src/org/eclipse/cdt/debug/mi/core/MISession.java (terminate) :
+ Clear the EventQueue, if we restart.
+ * src/org/eclipse/cdt/debug/mi/core/Queue (isEmpty):
+ New method.
+
+2003-04-21 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java:
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java:
+ Ignore exception when doing "set auto-solib-path on".
+
+2003-04-17 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
+ setCurrentThread(), calls VariableManager.update();
+ * src/org/eclipse/cdt/debug/micore/cdt/model/Thread.java:
+ setCurrentStackFrame() calls VariableManager.update();
+
+2003-04-07 Mikhail Khodjaiants
+ Changed the messages of CDI exceptions.
+ * MISession.java
+ * Target.java
+
+2003-04-04 Alain Magloire
+
+ Code from Monta Vista to add a Session via GDBServer.
+
+ * src/org/eclipse/cdt/debug/mi/core/MIPlugin.java:
+ * src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java:
+ * src/org/eclipse/cdt/debug/mi/core/IGDBServerMILaunchConfigurationConstants.java:
+ * plugin.xml
+
+2003-04-04 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdt/VariableManager.java:
+ Check for null in update().
+
+2003-04-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdt/VariableManager.java:
+ update(), put a limit on the number of stack we check for variables.
+
+2003-04-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdt/model/Target.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdt/model/Thread.java:
+ Before updating the register check if the manager is on autoupdate.
+
+2003-04-02 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdt/model/Target.java:
+ suspend() sync for at least < 10 seconds to allow the gdb to
+ suspend via SIGINT the program.
+
+2003-03-28 Mikhail Khodjaiants
+ Added time stamp to the trace messages.
+ * MIPlugin.java
+
+2003-03-28 Mikhail Khodjaiants
+ Correction of the previous patch.
+ * MIAsm.java
+
+2003-03-27 Mikhail Khodjaiants
+ Applied patch from Chris Songer: Assembly View Fixups
+ * Instruction.java
+ * MIAsm.java
+
+2003-03-19 Alain Magloire
+
+ Some applications, like recursive code, have a very deep stackframes
+ bigger > 50. This can turn out to be a problem, as the VariableManager
+ will try to update all the variables and there can be a lot of local
+ variable in all those stackframes. We can not use:
+ "-var-update *"
+ either since on gdb-5.2.1, for reasons unknown to me this will make
+ gdb unstable/crash. So the approach is to only update variables
+ in the current stackframe.
+ The advantage we only update a small set of variables.
+ The downside if we have side effects i.e. pointers pass to
+ argument and modifying the pointer affect the callees memory.
+ But this is a small price to pay and usually C/C++ programmer
+ are interrested to see changes of variables in the current stack
+ not changes 20 stack before.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Method update() only check the variable in the scope of the
+ current stackframe(the highest stack). This will include
+ any globals.
+
+2003-03-19 Alain Magloire
+
+ Base on PR/patch from Chris Songer.
+ Assigning a value to a register may have side-effects
+ on other registers. When assigning, the action is now
+ to upate again the values. The same for the variables.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
+ Method setValue() calls manager.update() after the assignment.
+
+2003-03-17 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java:
+ getArguments() and getLocalVariable() are caching the results.
+
+2003-03-16 Alain Magloire
+
+ GDB/MI does not keep the stack level, from what we expect. In gdb, the
+ highest stack is level 0 and lower stack as the highest level:
+ -stack-list-frames
+ ^done,stack=[frame={level="0 ",addr="0x0804845b",func="main",file="hello.c",line="24"},
+ frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
+
+ -stack-list-frames
+ ^done,stack=[frame={level="0 ",addr="0x08048556",func="main2",file="hello.c",line="58"},
+ frame={level="1 ",addr="0x08048501",func="main",file="hello.c",line="41"},
+ frame={level="2 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
+
+ This is of no use to us since the level is always "0". The level is necessary for example when
+ doing recursive calls to make a distinction between frames.
+ So in CDT this reverse the hidghest frame will have the highest number. In CDT:
+ stack=[frame={level="2 ",addr="0x0804845b",func="main",file="hello.c",line="24"},
+ frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
+
+ stack=[frame={level="3 ",addr="0x08048556",func="main2",file="hello.c",line="58"},
+ frame={level="2 ",addr="0x08048501",func="main",file="hello.c",line="41"},
+ frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}]
+
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java:
+ Takes a new Argument in the constructor, the level.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Threawd.java:
+ Create the StackFrame with the constructor.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/Location.java:
+ Fix equals().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Use the right level when setting the frame.
+
+2003-03-14 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java:
+ New method getArgumentObject().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
+ New method getRegisterObject().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ Checks for ICDIVariable and ICDIArgument since they are now ICDIVariableObject too.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java:
+ Checks for ICDIRegister when creating since they are now ICDIRegisterObject too.
+
+2003-03-13 Alain Magloire
+
+ Small bug fix
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
+
+2003-03-13 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ New method getLocalVariableObjects() implemented returns all the local.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
+ getLocalVariables() use getLocalVariableObjects().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java:
+ getName() does not longer throw an Exception.
+
+2003-03-11 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ New methods getVariableObjectAsArray() getVariableObjectAsType().
+
+2003-03-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/CommandQueue.java (print): Comment out.
+ * src/org/eclipse/cdt/debug/mi/core/Queue.java (print): Comment out.
+
+2003-02-12 Mikhail Khodjaiants
+ The 'setAutoSolib' method is no longer in ICDISharedLibraryManager.
+ * GDBDebugger.java
+
+2003-02-12 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
+ Removed getRegisterObjects(), getRegisters(), getSharedLibraries().
+ Those actions are done via the managers.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java (getChild):
+ Check the grand children also.
+
+2003-02-12 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (isAutoLoadSymbols):
+ New method.
+ * src/org/eclipse/cdt/deb/mi/core/command/MIGDBShow.java (getMIGDBShowInfo):
+ New method.
+
+2003-02-12 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java (ChangedEvent):
+ Returns a Variable.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java (DestroyedEvent):
+ Check if it was an expression also.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java (getVariables):
+ Calls the parent's implementation.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java (getVariables):
+ New implementation.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java (update):
+ Deal with new MIVarDeleteEvent.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java (addExpression):
+ Removed.
+ (removeExpression): New method.
+ * src/org/eclipse/cdt/debug/mi/core/event/MIVarChangedEvent.java (getScope):
+ removed.
+ * src/org/eclipse/cdt/debug/mi/core/event/MIVarDeletedEvent.java:
+ New file.
+
+2003-02-09 Alain Magloire
+
+ in GDB/MI 5.3 and below, the -data-list-register-xxx can bring gdb down with
+ an assert(). The problem is that code like this
+ ui_out_list_begin();
+ for () {
+ if(error)
+ return ERROR;
+ }
+ ui_out_list_end();
+ The ui_out_list_end() is never call.
+ However gdb offers the varobj to deal cleanly with register but calling
+ "-var-update *" seems to make gdb misbehave and hang after a while.
+ So we use a mixed of -data-list-register-xxx calls and var-object to deal
+ with registers and do not call "-var-update *" but rather call it for
+ each time for individual objects to see the updates.
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java:
+ Reimplemented to use the var obj.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterValue.java:
+ New file implement ICDIValue.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/EventManagero.java (processSuspendedEvent):
+ Call each manager.update().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java (update):
+ Reimplemented.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java (update):
+ Reimplemented
+ * src/org/eclipse/cdt/debug/mi/core/cdi/UpdateManager.java:
+ Removed.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/IUpdateListener.java:
+ Removed.
+ * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java:
+ Catch the cli "run" command.
+
+2003-02-06 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java (getVariableArrayObject):
+ New Method to type cast in an array.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java (VariableObject):
+ New constructor.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManger.java(getSignal):
+ Return an signal object even when the session is terminated.
+
+2003-02-05 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/command/MISignal.java:
+ * src/org/eclipse/cdt/debug/mi/core/command/MIJump.java:
+ Return a fake ^running, since the MI semantic is not respected.
+
+2003-02-04 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/CLICommand.java:
+ Catch cli command "jump"
+
+2003-02-04 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java:
+ New implementation for signal(), jump, and stepReturn(boolean).
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java:
+ (signal): Calls Target.signal().
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/SignalManager.java:
+ (signal): Method removed.
+ * src/org/eclipse/cdt/debug/mi/core/command/MIJump.java:
+ New file.
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java:
+ New method creteMIJump().
+
+2003-02-04 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManger.java:
+ Implement signal() method.
+ * src/org/eclipse/cdt/debug/mi/core/command/MISignal.java:
+ New file.
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java:
+ (createMISignal): new method.
+
+2003-02-04 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ExitedEvent.java:
+ Catch MIInferiorSignalExitEvent.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ExitedEvent.java:
+ Catch MIInferiorSignalExitEvent.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalExitInfo.java:
+ New File.
+ * src/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java:
+ New File
+ * src/org/eclipse/cdt/debug/mi/core/event/CLIProcessir.java:
+ "signal" command is like continue.
+ * src/org/eclipse/cdt/debug/mi/core/event/RxThread.java:
+ Catch MIInferiorSignalExitEvent.
+
+2003-02-04 Alain Magloire
+
+ Refactor MISignal in MISigHandle to not confus with
+ CLI command "signal SIGNAL".
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java:
+ * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java:
+ * src/org/eclipse/cdt/debug/mi/core/output/MISigHandle.java:
+
+2003-02-03 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java:
+ (loadSymbols): set the read flag to true.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/SharedLibrary.java:
+ (getMIShared): New method.
+ * src/org/eclipse/cdt/debug/mi/core/output/MIShared.java:
+ (setSymbolsRead): New method.
+
+2003-02-01 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/ChangedEvent.java:
+ Support for ICDISignal event.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Signal.java (handle):
+ Implemented.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java (update):
+ Support for ICDISignal event.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java (handle):
+ New method.
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIHandle):
+ New method
+ * src/org/eclipse/cdt/debug/mi/core/command/MIHandle.java:
+ New File.
+ * src/org/eclipse/cdt/debug/mi/core/CLICommand.java:
+ Check for "handle" and "signal" cli command.
+
+2003-01-31 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java:
+ Use deleteSharedLibrary from the manager.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/signal/Signal.java:
+ Construct a signal base on the MISignal response.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
+ (suspendedInferior): Take ICDITarget as argument.
+ (resumeInferior): Take ICDITarget as argument.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
+ (containsSharedLibrary): removed.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
+ (update): implemented.
+ (getSignals): implemented.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SignalReceived.java:
+ Ask the manager for the signal.
+ * src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java:
+ New file.
+
+2003-01-29 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (getSharedLibraryPaths):
+ New method.
+ (setSharedLibraryPaths): New method.
+ (setAutoLoadSymbols): New methos set autosolib.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java (setAutoSolib):
+ Move to SharedLibraryManager.java
+
+2003-01-28 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java:
+ * src/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java:
+ * src/org/eclipse/cdt/debug/mi/core/output/MISignal.java:
+ New files.
+
+2003-01-28 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/ArgumentObject.java:
+ Use ICDIStackFrame in the constructor.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterObject.java:
+ Use ICDIStackFrame in the constructor.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ Use ICDIStackFrame in the constructor.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java (getVariables):
+ No need to cast to StackFrame.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java (setCurrentFrame):
+ Implement new method, takes a boolean as the second method.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java:
+ No need to cast to StackFrame.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java:
+ No need to cast to StackFrame.
+
+2003-01-28 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java (getCondition):
+ Condition was initialize with the wrong parameter.
+ (setMIBreakpoint): reset location and condition.
+
+2003-01-28 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java (setMIBreakpoint):
+ New method.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java (update):
+ Reset the new MIBreakpoint on the Breakpoint object.
+ (containsBreakpoint): Removed.
+ (hasBreakpointChanged): Change arguments.
+ * src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java (parser):
+ Better check for watchpoints.
+ * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java (isChangeBreakpoint):
+ Check for "ignore" and "condition" cli commands.
+
+2003-01-27 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java (getTypeName):
+ Use MIWhatis to get the type of the register.
+ (getVariables): Cache the answer.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java (loadSymbols):
+ Use MISharedLibrary.
+ * src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java (createMIWhatis):
+ New method.
+ (MIPType): New method.
+ * src/org/eclipse/cdt/debug/mi/core/command/MISharedLibrary.java:
+ New file.
+
+
+2003-01-27 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java (getCThreads):
+ When attaching gdb(at least on some platform) does not show
+ the selected thread(info threads). Fallback on the first one.
+
+2003-01-27 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java (findVariable):
+ Bug fix, did not compare the stacks correctly.
+
+2003-01-27 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/ArgumentObject.java:
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/RegisterObject.java:
+ Move to model package.
+
+2003-01-26 Alain Magloire
+
+ Major refactor of the code. Rewrote/Added Managers:
+ VariableManager
+ ExpressionManager
+ RegisterManager
+ UpdateManager.
+
+ Refactor of CSession to Session, CTarget to Target
+ and CThread to Thread.
+ * src/.../mi/core/cdi/event/ChangedEvent.java:
+ * src/.../mi/core/cdi/event/CreatedEvent.java:
+ * src/.../mi/core/cdi/event/DestroyedEvent.java:
+ * src/.../mi/core/cdi/event/DisconnectedEvent.java:
+ * src/.../mi/core/cdi/event/ExitedEvent.java:
+ * src/.../mi/core/cdi/event/MemoryChangedEvent.java:
+ * src/.../mi/core/cdi/event/ResumedEvent.java:
+ * src/.../mi/core/cdi/event/SuspendedEvent.java:
+
+
+ * src/.../mi/core/cdi/model/Argument.java:
+ * src/.../mi/core/cdi/model/Breakpoint.java:
+ * src/.../mi/core/cdi/model/Thread.java:
+ * src/.../mi/core/cdi/model/Target.java:
+ * src/.../mi/core/cdi/model/MemoryBlock.java:
+ * src/.../mi/core/cdi/model/MixedInstruction.java:
+ * src/.../mi/core/cdi/model/Instruction.java:
+ * src/.../mi/core/cdi/model/Signal.java:
+ * src/.../mi/core/cdi/model/SharedLibrary.java:
+ * src/.../mi/core/cdi/model/CObject.java:
+ * src/.../mi/core/cdi/model/Expression.java:
+ * src/.../mi/core/cdi/model/Variable.java:
+ * src/.../mi/core/cdi/model/Value.java:
+ * src/.../mi/core/cdi/model/Register.java:
+ * src/.../mi/core/cdi/model/StackFrame.java:
+
+ * src/.../mi/core/cdi/ArgumentObject.java:
+ * src/.../mi/core/cdi/VariableObject.java:
+ * src/.../mi/core/cdi/RegisterObject.java:
+ * src/.../mi/core/cdi/BreakpointHit.java:
+ * src/.../mi/core/cdi/BreakpointManager.java:
+ * src/.../mi/core/cdi/VariableManager.java:
+ * src/.../mi/core/cdi/ExpressionManager.java:
+ * src/.../mi/core/cdi/RegisterManaget.java:
+ * src/.../mi/core/cdi/SignalManager.java:
+ * src/.../mi/core/cdi/SharedLibraryManager.java:
+ * src/.../mi/core/cdi/EventManager.java:
+ * src/.../mi/core/cdi/MemoryManager.java:
+ * src/.../mi/core/cdi/ErrorInfo.java:
+ * src/.../mi/core/cdi/Session.java:
+ * src/.../mi/core/cdi/ExitInfo.java:
+ * src/.../mi/core/cdi/UpdateManager.java:
+ * src/.../mi/core/cdi/IUpdateListener.java:
+ * src/.../mi/core/cdi/SessionObject.java:
+ * src/.../mi/core/cdi/SignalReceived.java:
+ * src/.../mi/core/cdi/SourceManager.java:
+ * src/.../mi/core/cdi/RuntimeOptions.java:
+ * src/.../mi/core/cdi/WatchpointScope.java:
+ * src/.../mi/core/cdi/WatchpointTrigger.java:
+ * src/.../mi/core/cdi/EndSteppingRange.java:
+
+ * src/.../mi/core/MIPlugin.java:
+ * src/.../mi/core/CygwinGDBDebugger.java:
+ * src/.../mi/core/GDBDebugger.java:
+
+
+
+2003-01-24 Alain Magloire
+
+ * src/.../mi/core/CLIProcessor.java (isEnableBreakpoint):
+ Check for "enable", "disable" cli commands.
+
+2003-01-23 Alain Magloire
+
+ * src/.../mi/core/CLIProcessor.java (isDeletingBreakpoint):
+ Check for "d" it means delete breakpoints.
+
+2003-01-20 Alain Magloire
+
+ * src/.../mi/core/cdi/Configuration.java (supporstSharedLibrary):
+ New method.
+ * src/.../mi/core/cdi/CoreFileConfiguration.java (supporstSharedLibrary):
+ New method.
+ * src/.../mi/core/cdi/SharedLibraryManager.java (update):
+ Checks if support for shared Libary before doin an update.
+
+2003-01-20 Alain Magloire
+
+ * src/.../mi/core/cdi/SuspendedEvent.java: Use SignalReceived.
+ * src/.../mi/core/cdi/model/Signal.java: New file.
+ * src/.../mi/core/cdi/model/SignalManager.java: Use model/Signal.
+ * src/.../mi/core/cdi/SignalReceived.java: New file.
+
+2003-01-20 Alain Magloire
+
+ The problem was that no check was done for the existence of
+ the program/executable nor the working directory etc ...
+ By asking the arguements to be File, the check is done by
+ the caller.
+
+ * src/.../mi/core/MIPlugin.java (createCSession): Change the
+ the arguments.
+ * src/.../mi/core/GDBDebugger.java (createCSession): Change the
+
+2003-01-20 Alain Magloire
+
+ * src/.../mi/core/command/MIWhatis.java: New file.
+ * src/.../mi/core/command/MIPType.java: New file.
+ * src/.../mi/core/command/MISharedLibary.java: New file.
+ * src/.../mi/core/output/MIWhatisInfo.java: New file.
+ * src/.../mi/core/output/MIPTypeInfo.java: New file.
+
+2003-01-18 Alain Magloire
+
+ * src/.../mi/core/cdi/event/DestroyedEvent.java (DestroyedEvent):
+ Remove the deleted shared library from the list.
+ * src/.../mi/core/cdi/SharedLibraryManager.java (getUnloadedLibrary):
+ Get a shared library slated for unload.
+ (removeFromUnloadedList): Remove the library form the list.
+
+2003-01-17 Alain Magloire
+
+ * src/.../mi/core/output/MIInfoSharedLibraryInfo.java (parseWinShared):
+ Break the methods in parserUnixShared() and parseWinShared() to cope
+ with the different formats.
+
+2003-01-17 Alain Magloire
+
+ * src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
+ New method takes and array of ICDISharedLibrary.
+ * src/.../mi/core/cdi/SharedLibrary.java (loadSymbols):
+ Call the share manager to load.
+
+2003-01-17 Alain Magloire
+
+ * src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
+ Call "shared libraryname".
+
+2003-01-17 Alain Magloire
+
+ The problem here is that we do not knw the state of
+ the session, for example "target remote server:port"
+ was issue, in this case the state is suspended.
+ We try to guess by posting a "info remote-process"
+ and set suspended when no error.
+
+ * src/.../mi/core/MIPlugin.java (createCSession):
+ Try "info remote-process" to guess the state.
+ Remove the "new-console" call to windows specific files.
+ * src/.../mi/core/CygwinGDBDebugger.java(createLaunchSession):
+ call "set new-console" for windows plaforms.
+
+2003-01-16 Alain Magloire
+
+ * src/.../mi/core/cdi/SharedLibary.java (setMIShared):
+ New method.
+ * src/.../mi/core/cdi/SharedLibraryManager.java (update):
+ When changed reset the MIShared of the SharedLibrary.
+
+2003-01-16 Alain Magloire
+
+ Process gdbinit configuration file.
+
+ * src/.../mi/core/MIPlugin.java (createCSession): Takes now two new
+ arguments for working directory and configuration file gdbinit.
+ * src/.../mi/core/GDBDebugger.java (createAttachSession):
+ (createCoreSession): pass the working directory and gdbinit file
+ (createLaunchSession): pass the working directory and gdbinit file
+ * src/.../mi/core/IMILaunchConfigurationConstants.java:
+ New constant ATTR_GDB_INIT.
+
+2003-01-16 Alain Magloire
+
+ * src/.../mi/core/cdi/EventManager.java (processSuspended):
+ Also process the Shared lib by calling update on the manager.
+
+ * src/.../mi/core/cdi/CSession.java: Create a shared
+ library manager.
+
+2003-01-16 Alain Magloire
+
+ * src/.../mi/core/event/MISharedLibCreatedEvent.java: New file.
+ * src/.../mi/core/event/MISharedLibChangedEvent.java: New file.
+ * src/.../mi/core/event/MISharedLibUndloadedEvent.java: New file.
+
+ * src/.../mi/core/cdi/event/CreatedEvent.java:
+ new constructors to deal with MISharedLibCreatedEvent.
+ * src/.../mi/core/cdi/event/ChangedEvent.java:
+ new constructors to deal with MISharedLibChangedEvent.
+ * src/.../mi/core/cdi/event/DestroyedEvent.java:
+ new constructors to deal with MISharedLibUnloadedEvent.
+
+ * src/.../mi/core/cdi/model/SharedLibrary.java: New file.
+
+ * src/.../mi/core/cdi/SharedLibraryManager.java: New file.
+ * src/.../mi/core/cdi/CSession.java (getSharedLibraryManager):
+ New method.
+ * src/.../mi/core/cdi/EventManager.java (update):
+ Deal with the new MISharedLibXXXEvents.
+
+2003-01-15 Alain Magloire
+
+ * src/.../mi/core/command/CommandFactory.java (createMIInfoSharedLibrary):
+ New method.
+ * src/../mi/core/command/MIInfoSharedLibrary.java: New file.
+ * src/../mi/core/output/MIInfoSharedLibraryInfo.java: New File.
+ * src/../mi/core/output/MIShared.java: new File.
+
+2003-01-13 Mikhail Khodjaiants
+ * CTarget.java: in the 'runUntil' method check if file name or function name length > 0, otherwise use address.
+
+2003-01-10 Alain Magloire
+
+ * src/.../mi/core/cdi/BreakpointManager.java (update): fix subscript
+ (setCondition): Fire a ChangedEvent.
+ (enableBreakpoint): Fire a ChangedEvent.
+ (disableBreakpoint): Fire a ChangedEvent.
+
+2003-01-10 Alain Magloire
+
+ * src/.../mi/core/cdi/model/CTarget.java (runUntil): Address breakpoint
+ needs a "*" prefix.
+
+2003-01-09 Alain Magloire
+
+ * src/.../mi/core/cdi/BreakpointManager.java (hasBreakpointChanged):
+ Implemented.
+
+2003-01-09 Alain Magloire
+
+ * src/.../mi/core/cdi/model/CTarget.java (setCurrentThread): takes
+ a new argument to decide if the events should be fired.
+ * src/.../mi/core/cdi/model/CThread.java (getStackFrameCount): use
+ the setCurrentThread() with events updates disable
+ (getStackFrames): Ditto.
+ (updateState): Wrong subscript in the loop.
+
+2003-01-09 Alain Magloire
+
+ Generate CreatedEvent's for Variable, Argument, Expression, Memory, Thread
+ objects when they are created. This makes it consistent with the generated
+ DestroyedEvent's.
+
+ * src/.../mi/core/cdi/EventManager.java (update): Deal with
+ MI{Register,Memory,Thread,Var}CreatedEvent events.
+ * src/.../mi/core/cdi/model/Ctarget.java (updateState): Fire events
+ when threads are created or destroyed.
+ * src/.../mi/core/cdi/model/MemoryBlock.java: Move here.
+ * src/.../mi/core/cdi/model/Register.java (getID): rename getId() to getID().
+ * src/.../mi/core/cdi/event/CreatedEvent.java: New constructors
+ to deal with MI{Register,Memory,Thread,Var}CreatedEvent.
+
+ * src/.../mi/core/event/MIMemoryCreatedEvent.java: New file.
+ * src/.../mi/core/event/MIRegisterCreatedEvent.java: New file.
+ * src/.../mi/core/event/MIThreadCreatedEvent.java: New file.
+ * src/.../mi/core/event/MIVarCreatedEvent.java: New file.
+ * src/.../mi/core/event/MIBreakpointChangedEvent.java (MIBreakpointChangedEvent):
+ Reuse the constructor.
+ * src/.../mi/core/event/MIBreakpointCreatedEvent.java (MIBreakpointCreatedEvent):
+ Reuse the constructor.
+ * src/.../mi/core/event/MIBreakpointDeletedEvent.java (MIBreakpointDeletedEvent):
+ Reuse the constructor.
+
+2003-01-08 Alain Magloire
+
+ Refactoring, split the org.eclipse.cdt.debug.mi.core.cdi in pacackages
+ org.eclipse.cdt.debug.mi.core.cdi
+ org.eclipse.cdt.debug.mi.core.cdi.event
+ org.eclipse.cdt.debug.mi.core.cdi.model
+ This help structure things up.
+ * src/.../mi/core/cdi/event: New files.
+ * src/.../mi/core/cdi/model: New files.
+
+2003-01-08 Alain Magloire
+
+ * src/.../mi/core/cdi/EventManager.java (update): bug fix
+ was calling DestroyedEvent() incorrectly.
+
+2003-01-08 Alain Magloire
+
+ CLIProcessor a new class to recognise the CLI(Command Line Interface)
+ of gdb example:
+ (gdb) next
+ (gdb) n
+ (gdb) b
+ (gdb) break
+ etc ..:
+ When the patterns are discover, the class will generate some events
+ to warn te UI that something change.
+
+ * src/.../mi/core/cdi/BreakpointManager.java (update):
+ Send a -break-list and generate events for any difference, in
+ the breakpoints that we know about.
+ (deleteBreakpoint): Take as argument the breakpoint number.
+ (getBreakpoints): Call update() to generate events if new breakpoints.
+ (getMIBreakpoints): return the MIBreakpoints.
+ * src/.../mi/core/cdi/ChangedEvent.java (ChangedEvent):
+ New constructor with MIBreakPointChangedEvent.
+ * src/.../mi/core/cdi/DestroyedEvent.java (DestroyedEvent):
+ New constructor with MIBreakPointDeletedEvent.
+ * src/.../mi/core/cdi/Created.java: New file.
+ * src/.../mi/core/cdi/EventManager.java (update):
+ Watch for the new MIBreakPoint*Events.
+ * src/.../mi/core/event/MIBreakPointCreatedEvent.java: New file.
+ * src/.../mi/core/event/MIBreakPointChangedEvent.java: New file.
+ * src/.../mi/core/event/MIBreakPointDeletedEvent.java: New file.
+ * src/.../mi/core/event/MICreatedEvent.java: New file.
+ * src/.../mi/core/event/MIDestroyedEvent.java: New file.
+ * src/.../mi/core/event/MIInferiorExitEvent.java: Extends MIDestroyedEvent
+ * src/.../mi/core/event/MIThreadExitEvent.java: Extends MIDestroyedEvent
+ * src/.../mi/core/event/MIGDBExitEvent.java: Extends MIDestroyedEvent
+ * src/.../mi/core/event/MIDetachedEvent.java: Extends MIDestroyedEvent
+ * src/.../mi/core/CLIProcessor.java: New file.
+ * src/.../mi/core/TxThread.java: New file.
+
+2003-01-07 Alain Magloire
+
+ * src/.../mi/core/MIInferior.java (getOutputStream): Remove useless assignement.
+ * src/.../mi/core/MIPluging.java (debugLog): Not need to be static.
+ * src/.../mi/core/cdi/EventManager.java (update): Remove useless assignement.
+
+2003-01-06 Alain Magloire
+
+ * build.properties: Patch from Judy Green.
+
+2003-01-06 Alain Magloire
+
+ * src/.../mi/core/cdi/BreapoinManager.java (createLocation): new method
+ to create a breakoint with an address.
+ * src/.../mi/core/cdi/Location.java (Location): New constructor takes
+ an address as argument.
+
+2003-01-03 Alain Magloire
+
+ The Class creating the CDISession part of the initialization would call
+ (gdb) set autosolib on
+ this works fine for Unix system, but on Windows it throws an error
+ failing the debugger. Windows(Cygwin, MingWin) does not need any
+ special initialization like solib-search-paths etc ..
+
+ * src/.../mi/core/cdi/SourceManager.java (setAutoSolib): Takes a boolean argument
+ to set the autosolib on or off.
+ * src/.../mi/core/CygwinGDBDebugger.java(initializeLibraries):
+ Empty method, cygwin does not need any special handling.
+ * src/.../mi/core/GDBDebugger.java (initializeLibraries):
+ Always call autosolib.
+
+
+2003-01-02 Alain Magloire
+
+ Bug when using recursive:
+ int recursive(int x) {
+ if (x > 10)
+ recursive(++x);
+ return 0;
+ }
+
+ The Variable Manager is caching the MI/GDB var-obj for speed.
+ It is finding the object by looking at the name and the stack/thread,
+ for recursive calls, this is wrong and the code would be full in
+ thinking the variable "x"(see above) is the same object. To make the distinction
+ we use the depth "-stack-info-depth" that will be use also in the equality
+ to make sure we identify an object uniquely. In the recursive() case above
+ because the depth is different, a new "x" object will be created. The downside
+ is that on certain platform doing deep recursive/stackframe, we have noticed
+ that "-stack-info-depth" can be very long, test done for gdb/QNX with
+ a stack depth of 1000.
+
+ * src/.../mi/core/cdi/VariableManager.java (getElement):
+ Use the depth when doing equal().
+ (createElement): Save the depth of the stack part of the Element.
+
+2003-01-02 Alain Magloire
+
+ GDB/MI uses some oob reasons that was not documented for the watchpoints
+ *stopped,reason="access-watchpoint-trigger"...
+ *stopped,reason="read-watchpoint-trigger",...
+ * src/.../mi/core/event/MIWatchpointTrigger.java (parse):
+ check for "hw-awpt" and "hw-rwpt".
+ * src/.../mi/core/RxThread.java (createEvents):
+ Check for "access-watchpoint-trigger", "read-watchpoint-trigger.
+
+2002-12-17 Alain Magloire
+
+ * src/.../mi/core/cdi/Register.java (setFormat): bug fix
+ The format variable was not set.
+
+2002-12-05 Alain Magloire
+
+ GDB/MI provides error messages in its log stream, one problem
+ is that it is not consistent, for example doing:
+ (gdb) info threads
+ & "info threads\n"
+ which is obviously not an error.
+ So we put the error stream output par of the exception so when
+ it is relevant it shows in the Exception.
+ MI2CDIException is the bridge class.
+
+ * src/.../mi/core/cdi/BreakpoinManager.java:
+ * src/.../mi/core/cdi/CSession.java:
+ * src/.../mi/core/cdi/CTarget.java:
+ * src/.../mi/core/cdi/CThread.java:
+ * src/.../mi/core/cdi/MemoryBlock.java:
+ * src/.../mi/core/cdi/MemoryManager.java:
+ * src/.../mi/core/cdi/Register.java:
+ * src/.../mi/core/cdi/RegisterManager.java:
+ * src/.../mi/core/cdi/SourceManager.java:
+ * src/.../mi/core/cdi/Value.java:
+ * src/.../mi/core/cdi/Variable.java:
+ * src/.../mi/core/cdi/VariableManager.java:
+
+ * src/.../mi/core/command/Command.java (getMIInfo):
+ When error get the log stream and put it in the MIException.
+ * src/.../mi/core/event/MIErrorEvent.java:
+ Get the log stream error also.
+ * src/.../mi/core/MIException.java (getLogMessage): New method
+ contains buffer output.
+ * src/.../mi/core/RxThread.java (processMIOutput): get the
+ oob arrays up so it can be use in MIErrorEvent.
+
+2002-12-02 Alain Magloire
+
+ * src/.../mi/core/cdi/CTarget.java (updateState): If we
+ have the current thread id set it before, getCThread() if
+ it is implemented with "info threads" can override it but
+ "-stack-list-thread" does not give this information.
+ * src/.../mi/core/cdi/ErrorInfo.java: New file
+ * src/.../mi/core/cdi/EventManager.java (getReason): Return
+ an ErrorInfo also.
+ * src/.../mi/core/event/MIErroEvent.java: New file
+ * src/.../mi/core/RxThread.java (processMIOutput):
+ Generated MIErrorEvent for "^error".
+
+2002-11-29 Alain Magloire
+
+ * src/.../mi/core/cdi/EventManager.java (processSuspended):
+ get the threadId.
+
+2002-11-29 Alain Magloire
+
+ * src/.../mi/core/cdi/MemoryBlock.java (setValue):
+ Check if the change affects other block and fire MemoryChangedEvent
+ when necessary.
+
+2002-11-29 Alain Magloire
+
+ * src/.../mi/core/event/MIBreakpointEvent.java:
+ * src/.../mi/core/event/MIFunctionFinishedEvent.java:
+ * src/.../mi/core/event/MILocationReachedEvent.java:
+ * src/.../mi/core/event/MISignalEvent.java:
+ * src/.../mi/core/event/MISteppingRangeEvent.java:
+ * src/.../mi/core/event/MIStoppedEvent.java:
+ * src/.../mi/core/event/MIWatchpointEvent.java:
+ * src/.../mi/core/event/MIWatchpointTriggerEvent.java:
+ * src/.../mi/core/RxThread.java:
+ Some events like the temporary events, do not have
+ any specific format but do provide a frame and a thread-id
+ move the code in MIStoppedEvent.
+
+2002-11-28 Alain Magloire
+
+ * src/.../mi/core/cdi/MemoryBlock.java (setValue): Only get a byte.
+
+2002-11-28 Alain Magloire
+
+ * src/.../mi/core/cdi/CTarget.java (runUntil): new method implemented.
+ * src/.../mi/core/cdi/CThread.java (runUntil): new method implemented.
+
+2002-11-26 Doug Schaefer
+
+ * src/.../mi/core/CygwinGDBDebugger.java:
+ New Debugger that provides the Cygwin Command Factory to the MISession
+ * src/.../mi/core/command/CygwinCommandFactory.java:
+ New Command Factory for Cygwin specific implementations of the commands
+ * src/.../mi/core/command/CygwinMIEnvironmentDirectory.java:
+ New. Subclasses the MIEnvironmentDirectory command to convert the
+ paths using cygpath.
+ * plugin.xml:
+ Defines the new debugger extension.
+
+2002-11-25 Alain Magloire
+
+ * src/.../mi/core/cdi/Watchpoint.java:
+ Check if it was access point also.
+ * src/.../mi/core/output/MIBreakInsertInfo.java (parse):
+ Check for "wpt" variable.
+ * src/.../mi/core/output/MIBreakpoint.java (IsWriteWatchpoint):
+ implemented.
+
+2002-11-20 Mikhail Khodjaiants
+ Fix for bug 26595.
+ * src/.../mi/core/cdi/MemoryManager.java (compareBlocks):
+ If the start address of a memory block has changed fir 'changed' event
+ only for the corresponding bytes of the overlapping area of new and old blocks.
+
+2002-11-19 Alain Magloire
+
+ * src/.../mi/core/cdi/MemoryManager.java (compareBlocks):
+ The startAddress() may have change for example if we were
+ watching "char *p;" and the address move "p++". Take this
+ into account now.
+
+2002-11-18 Alain Magloire
+
+ * src/.../mi/core/cdi/StackFrame.java (getCurrentStackFrame):
+ if the currentFrame was not set only get the top level
+ frame for the current.
+ * src/.../mi/core/cdi/CTarget.java (updateStateId):
+ Set the currentThreads && currentThreadId.
+
+2002-11-18 Alain Magloire
+
+ * src/.../mi/core/cdi/CThread.java (getStackFrameCount):
+ Set the new thread before getting the value and restore
+ after.
+
+2002-11-14 Alain Magloire
+
+ This is needed in post-mortem, application doing a
+ very deep recursion and crashing the stack size, for example
+ on GNU/Linux it may reach 200000 levels deep. Trying to
+ bring in the UI a bactrace tree of 200000 nodes is useless.
+ The UI could check the count and do the appropriate action
+ by showing ranges etc ..
+
+ * src/.../mi/core/cdi/CThread.java (getStackFrame):
+ new method with a hi and low.
+ (getStackFrameCount): new method.
+ * src/.../mi/core/command/CommandFactory.java (createMIStackInfoDepth):
+ new method.
+ * src/.../mi/core/command/MIStackInfoDepth.java (getMIStackInfoDepthInfo):
+ new method.
+
+2002-11-13 Dave Inglis
+ * plugin.xml
+ Added "native" cpu support.
+
+2002-11-06 Alain Magloire
+
+ * src/.../mi/core/cdi/StackFrame.java (getLocals):
+ If an exception was thrown, the array may contain null
+ entries. Use a list and catch the exception.
+
+2002-11-06 Alain Magloire
+
+ * src/.../mi/core/cdi/StackFrame.java (getArguments):
+ If an exception was thrown, the array may contain null
+ entries. Use and a List and catch the exception.
+
+2002-11-05 Alain Magloire
+
+ * src/.../mi/core/cdi/Register.java (setValue): Fire a
+ MIRegisterChangedEvent when changing value.
+ Fix PR:25730
+
+2002-11-01 Alain Magloire
+
+ The change in MISession(), will catch things like starting gdb-5.0
+ with argument "-i mi1", that level of mi is not supported.
+
+ * src/.../mi/core/cdi/MemoryBlock.java (refresh): When doing the refresh
+ check if other blocks wehre affected and update them.
+ * src/.../mi/core/cdi/MemoryManager.java (update): Return the array of
+ affected addresses.
+ * src/.../mi/core/MIPlugin.java (createCSession): Do not throw an
+ error when trying "set new-console", it does not work on Linux.
+ * src/.../mi/core/MISession.java (MISession): Check if the process
+ terminated early, maybe because of wron arguments etc .. and throw
+ the exception.
+
+2002-11-1 David Inglis
+ * src/.../mi/core/MIPlugin.java
+ throw MIExceptions in createSession (not rethorwn IOExceptions)
+
+2002-10-30 Alain Magloire
+
+ * src/.../core/cdi/MemoryBlock.java (setDirty): When need a
+ refresh setDirty() to true.
+ (isDirty): Return the flag value.
+
+ * src/.../core/cdi/MemoryManager.java (update): Check if
+ the MemoryBlock isDirty().
+
+2002-10-30 Alain Magloire
+
+ * src/.../core/cdi/MemoryBlock.java (setValue): reuse refresh()
+ to update the memory and fire any MemoryChangedEvents.
+
+2002-10-26 Alain Magloire
+
+ * src/.../core/cdi/MemoryBlock.java (setValue): Generate
+ a MemoryChangeEvent when the value is set, gdb/mi will not
+ do it.
+
+2002-10-25 Alain Magloire
+
+ * src/.../core/cdi/CThread.java (getStackFrames): Save the
+ current thread before changing and restore when operation finish.
+
+ * src/.../core/cdi/MemoryBlock.java (refresh): Flush the old
+ data and get new memory.
+ (update): New method to compare individual blocks.
+
+2002-10-25 Alain Magloire
+
+ Automatically suspend/resume gdb when setting a breakpoint.
+ The workflow when debuggin which gdb command prompt is to
+ hit CTRL-C set the breakpoint and continue. The UI debugger
+ should be smart enought to do this by itself. So if the
+ inferior is running, when setting a breakpoint the program
+ is suspended(target.suspend()), the suspend event is ignore
+ the breakpoint is set (--break-insert) and the target is resume.
+ To ignore a specific event, we use a (mis)behaviour of gdb that
+ associate the suspend(*stopped) with the last execution command.
+ (gdb)
+ 111-exec-continue
+ 111^running
+ (gdb)
+ 222-exec-interrupt
+ 222^done
+ (gdb)
+ 111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
+ frame={addr="0x00010140",func="foo",args=[],file="try.c",line="13"}
+ (gdb)
+ In the case above event 111 is ignore.
+
+ * src/.../core/command/CLICommand.java (toString): Always put
+ the identifying token.
+ * src/.../core/command/Command.java (setToken): Removed.
+ (getUniqToken): New method returns a global uniq token.
+ (getToken): Returns a uniq token for the command.
+ * src/.../core/MIInferior.java (setTerminated): New argument token,
+ since now all MIEvent has the corresponding command token.
+ * src/.../core/MISession.java (cmdCount): Removed.
+ (postCommand): the command getToken() will return a uniq token.
+ * src/.../core/RxThread.java (processMIOOBRecord): MIEvent take
+ the corresponding command token as argument.
+ * src/.../core/TxThrea.java (token): Field removed, token are no
+ longer created in this tread.
+ * src/.../core/event/MIBreakpointEvent.java:
+ * src/.../core/event/MIBreakpointEvent.java:
+ * src/.../core/event/MIChangedEvent.java:
+ * src/.../core/event/MIDetachedEvent.java:
+ * src/.../core/event/MIEvent.java:
+ * src/.../core/event/MIFunctionFinishedEvent.java:
+ * src/.../core/event/MIGDBExitEvent.java:
+ * src/.../core/event/MIInferiorExitEvent.java:
+ * src/.../core/event/MILocationReachedEvent.java:
+ * src/.../core/event/MIMemoryChangedEvent.java:
+ * src/.../core/event/MIRegisterChangedEvent.java:
+ * src/.../core/event/MIRunningEvent.java:
+ * src/.../core/event/MISignalEvent.java:
+ * src/.../core/event/MISteppingRangeEvent.java:
+ * src/.../core/event/MIStoppedEvent.java:
+ * src/.../core/event/MIThreadExitEvent.java:
+ * src/.../core/event/MIVarChangedEvent.java:
+ * src/.../core/event/MIWatchpointScopeEvent.java:
+ * src/.../core/event/MIWatchpointTriggerEvent.java:
+ Calls super with getToken().
+ * src/.../core/cdi/BreakpointManager.java (allowProgramInterruption):
+ New method to allow suspending the program to set a breakpoint.
+ (suspendInferior): get the last token execution an ignore the suspend
+ event.
+ * src/.../core/cdi/CTarget.java (getLastExecutionToken): New method
+ returns the token of the last execution command.
+ * src/.../core/cdi/EventManager.java (enableEventToken): New method.
+ (enableEventTokens): New method.
+ (disableEventToken): New method.
+ (disableEventTokens): New method.
+ (update): Ignore token in the disable list.
+ * src/.../core/cdi/RegisterManager.java (update): MIEvent takes
+ a token.
+ * src/.../core/cdi/Variable.java (setValue): MIEvent takes a token.
+ * src/.../core/cdi/VariableManager.java (update): MIEvent takes a token.
+
+2002-10-24 Alain Magloire
+
+ * src/.../core/RxThread.java (processMIOutput): Fire a
+ suspended event when seeing an error.
+
+2002-10-24 Alain Magloire
+
+ * src/.../core/output/MIConst.java (isoC): Change to return
+ a string instead '\n' is platform dependent and has to be
+ translate to "\r\n" for SWT widgets to work correctly on windows.
+
+2002-10-23 Alain Magloire
+
+ gdb/mi for program control command will fire a change state event:
+ -exec-run
+ ^running
+ This allow the UI to change its state and wait for the suspended.
+ Providing a gdb prompt adds some problems, since there is no state
+ change, i.e.(^running) after command like, next/step/...:
+ next
+ &"next\n"
+ ...
+ So to palliate, the txthread do some query when the commands are
+ CLI commands trying to discover the type and fire any appropriate
+ events on behalf on gdb.
+
+ * src/.../core/RxThread.java (createEvent): Adjust the parser to
+ not rely on the oob "*stopped", since for CLI command it is not
+ in the result-class. So the suspended state will be base of
+ the "reason" only.
+ * src/.../core/TxThread.java (processCLICommand): new method,
+ get the command and try to recognize if it is a program control
+ command like: next, step, etc ..
+ * src/.../core/command/CLICommand.java (getOperation): New method,
+ returns the command string.
+
+2002-10-22 Alain Magloire
+
+ Change the framework to support access to gdb prompt.
+ Trying to reuse as much as possible Eclipse framework.
+ The session/gdb process is available via CDI.
+
+ * src/.../core/GDBStreamsProxy.java: Removed.
+ * src/.../core/GDBProcess.java: Removed.
+ * src/.../core/GDBStreamMonitor.java: Removed.
+ * src/.../core/SessionProcess.java: New file.
+ * src/.../core/MISession.java (getMISessionProcess):
+ New method, returns a "fake" Process that wraps the input/outpu
+ stream of gdb.
+ (getGDBProcess): was getMIProcess(), renamed.
+ * src/.../core/cdi/CSession.java (getSessionProcess): New method
+ return gdb process.
+
+2002-10-22 Alain Magloire
+
+ * src/.../core/GDBStreamsProxy.java (write):
+ Replace the OutputStream with a Write class.
+ And clear the buffer on flush().
+
+2002-10-21 Alain Magloire
+
+ * src/.../core/GDBProcess.java (getExitValue): Catch
+ IllegalThreadStateException.
+ (getAttribute): Only create Properties, when call.
+ (setAttribute): Only create Properties, when call.
+ (getAdapter): Implemented.
+ (canTerminate): true only of the process is alive.
+ (GDBProcess): Takes one more argument the name.
+ * src/.../core/GDBStreamMonitor.java (fireStreamAppend): New method.
+ Use a synchronized LinkedList for the listeners.
+ (read): new Method.
+ (startMonitoring): New method, start a thread in the background
+ to monitor the input.
+ * src/.../core/GDBStreamsProxy.java (getErrorStream): Start the monitor thread.
+ (getOutputStream): Start the monitor thread.
+
+2002-10-21 Alain Magloire
+
+ Framework for having a gdb console. The idea is to reuse
+ the eclipse console and save a lot of work. We "adapt"
+ the gdb Process to what eclipse debug LaunchView wants(IProcess).
+ So when this fake "gdb process" is selected we can grab the
+ input/output of the console and redirect everything to raw gdb.
+
+ * src/.../core/GDBProcess.java: New file, it implements Eclipse
+ debug class IProcess.
+ * src/.../core/GDBStreamMonitor: New file, it implements Eclipse
+ debug class IStreamMonitor.
+ * src/.../core/GDBStreamsProxy: New file, it implements Eclipse
+ debug class IStreamsProxy.
+ * src/../core/MISession.java (getMIConsoleStream): New method
+ to return the mi console stream output that we get from gdb/mi.
+ (getMILogStream): New method, to return the mi log stream output
+ that we get from gdb/mi.
+ (terminate): close the fake MI Console and Log streams.
+ * src/../core/RxThread.java (processMIOOBRecord): Redirect the
+ console and the log stream to a buffer pipe.
+
+2002-10-21 Alain Magloire
+
+ * src/.../core/cdi/EventManager.java (update): Only
+ fire the event for MemoryChangedEvent if the block was
+ not frozen.
+
+2002-10-20 Alain Magloire
+
+ Eclipse provides plugins a way to trace by having an .options file,
+ this mechanism is use to print out the mi exchange between gdb
+ and the plugin. To enable this in the debug launch one must enable
+ "tracing" and set for the "org.eclipse.debug.mi.core/debug" to true.
+ But one problem, the console will simply blow taking down eclipse,
+ for big MI line response, say 4k length, for example asking the children
+ of "char buffer[4096]", -var-list-children varxx.
+ This seem only to happen in Eclipse-gtk or Eclipse-motif
+ on GNU/Linux, so it will be break in smaller chunks to give a chance to
+ the console.
+
+ * .options: Set debug to true.
+ * src/.../core/MIPlugin.java (debugLog): Break the log line in small chuncks of 100.
+ * src/.../core/MISession.java (postCommand): Print the gdb/mi command.
+ * src/.../core/RxThread.java (run): Print gdb/mi responses.
+
+2002-10-20 Alain Magloire
+
+ -data-write-register-values is not in the texinfo manual but implemented in
+ gdb-5.2.1/gdb/mi/mim-main.c:
+ Write given values into registers. The registers and values are
+ given as pairs. The corresponding MI command is
+ -data-write-register-values <format> [<regnum1> <value1>...<regnumN> <valueN>]
+
+ * src/.../core/command/MIDataWriteRegisterValues.java: New file.
+ * src/.../core/command/CommandFactory.java (createMIDataWriteMemory): New method.
+ * src/.../core/cdi/Register.java (setValue): Implemented.
+
+2002-10-20 Alain Magloire
+
+ Althought -data-write-memory is not documented in the texinfo manual
+ it is implemented and well documented in the code(gdb-5.2.1/gdb/mi/mi-main.c).
+ "mi_cmd_data_write_memory: Usage: [-o COLUMN_OFFSET] ADDR FORMAT WORD-SIZE VALUE.");
+
+ * src/.../core/command/MIDataWriteMemory.java: New file
+ * src/.../core/command/CommandFactory.java (createMIDataWriteMemory): New method.
+ * src/.../core/cdi/MemoryBlock.java (setValue): Implemented.
+
+2002-10-20 Alain Magloire
+
+ * src/.../core/cdi/CTarget.java (getMemoryBlock): Remove
+ we use the MemoryManager instead.
+ (EvaluateExpressionToValue): Removed not use.
+ * src/.../core/cdi/SourceManager.java (setFile): Removed not use.
+ (getFile): Removed not use.
+ (reset): Removed not use.
+
+2002-10-19 Alain Magloire
+
+ The responsability to generate Events for modify memory blocks is push
+ on the CDI implementation. The way we do this is every time consuming,
+ when the inferior is suspended(see EventManager.processSuspendedEvent()),
+ MemoryManager.update() is called, the method will go through the list of MemoryBlocks
+ that are not MemoryBlocks.setFrozen() and fetch the new memories, the data is compare
+ and MemoryChangedEvents are fired for blocks with changed values.
+ Gdb/mi var objects does not seem to provide any support for Memory ranges.
+
+ * src/.../core/cdi/MemoryChangedEvent.java: New File implements ICDIMemoryChangedEvent.
+ * src/.../core/cdi/EventManager.java (update): Process MIMemoryChangedEvent's.
+ (processSuspendedEvent): call MemoryManager.update().
+ * src/.../core/cdi/MemoryBlock.java (getExpression): New method.
+ (getMIDataReadMemoryInfo): New method.
+ (setMIDataReadMemoryInfo): New method.
+ * src/.../core/cdi/MemoryManager.java (update): New method.
+ (compareBlock): New method.
+ (listMemoryBlocks): New method.
+
+ * src/.../core/cdi/CTarget.java (setCurrentThread): Catch null pointer.
+ (getCThreads): Likewise.
+ * src/.../core/event/MIMemoryChangedEvent.java: New File.
+ * src/.../core/event/MIThreadExitEvent.java: Indentation fixes.
+ * src/.../core/event/MIVarChangedEvent.java: Indentation fixes.
+
+
+
+2002-10-16 Alain Magloire
+
+ * src/.../mi/core/cdi/MemoryManager.java (createMemoryBlock):
+ New method that takes a string instead of a long, rearrange
+ the method for it.
+
+2002-10-12 Alain Magloire
+
+ There are some serious problems with gdb/mi, for example
+ the most recurrent one is when using -data-disassemble
+ in a threaded program, GNU/Linux uses a thread manager
+ when trying to access the stackframe, gdb usually coredumps
+ with an assert, it goes something like this:
+
+-data-disassemble -f manager.c -l 136 -n 100 0
+&"Cannot access memory at address 0x4002d794\n"
+^error,msg="Cannot access memory at address 0x4002d794"
+(gdb)
+-data-disassemble -s 0x4002d900 -e 0x4002d964 0
+&"Cannot access memory at address 0x4002d900\n"
+^error,msg="Cannot access memory at address 0x4002d900"
+(gdb)
+-thread-select 2
+&"ui-out.c:133: gdb-internal-error: push_level: Assertion `uiout->level >= 0 && uiout->level < MAX_UI_OUT_LEVELS' failed.\n"
+
+ The RxThread will spawn a thread to terminate the session
+ and clear the receiving queue.
+
+
+ * RxThread.java (run): When the thread is being cancel() or
+ running out of run(), clear the receiving queue(rxQueue) and
+ notify any commands waiting.
+
+ * TxTread.java (run): Before putting the command in the
+ receiving queue(rxQueue) check to see if the thread is
+ still running.
+ When the thread is being cancel() or running out of run(),
+ clear the transmition queue(txQueue) an notify any commands
+ waiting.
+
+ * Queue.java (clearItems): New method that clear the items
+ on the queue and returning them.
+
+ * CommandQueue.java (clearCommands): New method calls super.clearItems()
+ whith the appropriate castings.
+
+ * cdi/CThread.java (setCurrentStackFrame): Check for null.
+
+2002-10-12 Alain Magloire
+
+ The memory block is implemented with
+ -data-read-memory (MIDataReadMemory)
+ Since the ICDIMemoryBlock only have
+ byte[] getBytes()
+ We will always issue:
+ -data-read-memory address x 1 1 length
+ The CDI upper layer will deal with any conversions
+
+ The problem now is how to send changedEvent when
+ an element of the memory changed.
+
+ * cdi/MemoryBlock.java (getLength): Implemented
+ (getBytes): Implemented
+ (getStartAddress): Implemented
+
+ * cdi/MemoryManager.java: Implemented.
+
+ * command/MIDataReadMemory (getMIDataReadMemoryInfo):
+ New helper method.
+
+2002-10-12 Alain Magloire
+
+ * cdi/Location (getInstructions): Methods removed
+ no longer define in ICDILocation.
+
+2002-10-11 Alain Magloire
+
+ * cdi/SourceManager (getMixedInstruction):
+ Implement the 3 new methods to return Mixed source
+ and assemby instructions.
+
+ * cdi/MixedInstruction: New class implements
+ ICDIMixedInstruction.
+
+2002-10-11 Alain Magloire
+
+ * cdi/ExpressionManager.java: Not needed, removed.
+
+2002-10-10 Alain Magloire
+
+ The Eclipse/UI/Debug framewok is being very repetive
+ and each command can be ask 2, 3 times. So we'll try
+ to make certain commands smarter by not reissuing them
+ to gdb if the state is the same. We do this when
+ selecting the thread and when selecting the stackframe.
+
+ The other problem is that Eclipse/UI/Debug is calling
+ ICDISession.terminate() twice, this is catch by looking
+ at isTerminated().
+
+ * cdi/CThread.java (setCurrentStackFrame): Make it smarter
+ to not reselect the stack level if it is already at that
+ level.
+
+ * MISession.java (isTerminated): Declare a flag that will
+ hold the state.
+ (terminate): Check if it was call already.
+
+2002-10-10 Alain Magloire
+
+ * SourceManager.java: Implement getInstructions().
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
index 5b531d9e522..9cf224a5337 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
@@ -47,19 +47,17 @@ import org.eclipse.cdt.debug.mi.core.output.MIInfo;
/**
* Breakpoint Manager for the CDI interface.
*/
-public class BreakpointManager extends SessionObject implements ICDIBreakpointManager {
+public class BreakpointManager extends Manager implements ICDIBreakpointManager {
List breakList;
List deferredList;
boolean allowInterrupt;
- boolean autoupdate;
public BreakpointManager(Session session) {
- super(session);
+ super(session, false);
breakList = Collections.synchronizedList(new ArrayList());
deferredList = Collections.synchronizedList(new ArrayList());
allowInterrupt = true;
- autoupdate = false;
}
public MIBreakpoint[] getMIBreakpoints() throws CDIException {
@@ -70,7 +68,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
s.getMISession().postCommand(breakpointList);
MIBreakListInfo info = breakpointList.getMIBreakListInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
return info.getMIBreakpoints();
} catch (MIException e) {
@@ -141,7 +139,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
&& breakList.contains(breakpoint)) {
number = ((Breakpoint) breakpoint).getMIBreakpoint().getNumber();
} else {
- throw new CDIException("Not a CDT breakpoint");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Not_a_CDT_breakpoint")); //$NON-NLS-1$
}
boolean state = suspendInferior(breakpoint.getTarget());
Session session = (Session)getSession();
@@ -151,7 +149,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
session.getMISession().postCommand(breakEnable);
MIInfo info = breakEnable.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -171,7 +169,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
&& breakList.contains(breakpoint)) {
number = ((Breakpoint) breakpoint).getMIBreakpoint().getNumber();
} else {
- throw new CDIException("Not a CDT breakpoint");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Not_a_CDT_breakpoint")); //$NON-NLS-1$
}
Session session = (Session)getSession();
@@ -183,7 +181,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
session.getMISession().postCommand(breakDisable);
MIInfo info = breakDisable.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -202,7 +200,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
&& breakList.contains(breakpoint)) {
number = ((Breakpoint) breakpoint).getMIBreakpoint().getNumber();
} else {
- throw new CDIException("Not a CDT breakpoint");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Not_a_CDT_breakpoint")); //$NON-NLS-1$
}
Session session = (Session)getSession();
@@ -212,7 +210,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
// reset the values to sane states.
String exprCond = condition.getExpression();
if (exprCond == null) {
- exprCond = "";
+ exprCond = ""; //$NON-NLS-1$
}
int ignoreCount = condition.getIgnoreCount();
if (ignoreCount < 0) {
@@ -225,14 +223,14 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
session.getMISession().postCommand(breakCondition);
MIInfo info = breakCondition.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIBreakAfter breakAfter =
factory.createMIBreakAfter(number, ignoreCount);
session.getMISession().postCommand(breakAfter);
info = breakAfter.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -332,7 +330,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
numbers[i] =
((Breakpoint) breakpoints[i]).getMIBreakpoint().getNumber();
} else {
- throw new CDIException("Not a CDT breakpoint");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Not_a_CDT_breakpoint")); //$NON-NLS-1$
}
}
Session session = (Session)getSession();
@@ -343,7 +341,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
session.getMISession().postCommand(breakDelete);
MIInfo info = breakDelete.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -376,7 +374,7 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
*/
public ICDICatchpoint setCatchpoint( int type, ICDICatchEvent event, String expression,
ICDICondition condition) throws CDIException {
- throw new CDIException("Not Supported");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Not_Supported")); //$NON-NLS-1$
}
/**
@@ -467,11 +465,11 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
session.getMISession().postCommand(breakInsert);
MIBreakInsertInfo info = breakInsert.getMIBreakInsertInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
points = info.getMIBreakpoints();
if (points == null || points.length == 0) {
- throw new CDIException("Error parsing");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Parsing_Error")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -503,10 +501,10 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
MIBreakWatchInfo info = breakWatch.getMIBreakWatchInfo();
points = info.getMIBreakpoints();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
if (points == null || points.length == 0) {
- throw new CDIException("Parsing Error");
+ throw new CDIException(CdiResources.getString("cdi.BreakpointManager.Parsing_Error")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -543,18 +541,4 @@ public class BreakpointManager extends SessionObject implements ICDIBreakpointMa
return new Location(address);
}
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIBreakpointManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIBreakpointManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.java
new file mode 100644
index 00000000000..222f745be6d
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.java
@@ -0,0 +1,38 @@
+/*
+ * Created on Mar 12, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.cdt.debug.mi.core.cdi;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+/**
+ * @author twolff
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class CdiResources {
+ private static final String BUNDLE_NAME = "org.eclipse.cdt.debug.mi.core.cdi.CdiResources";//$NON-NLS-1$
+ private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+ .getBundle(BUNDLE_NAME);
+ /**
+ *
+ */
+ private CdiResources() {
+ // TODO Auto-generated constructor stub
+ }
+ /**
+ * @param key
+ * @return
+ */
+ public static String getString(String key) {
+ // TODO Auto-generated method stub
+ try {
+ return RESOURCE_BUNDLE.getString(key);
+ } catch (MissingResourceException e) {
+ return '!' + key + '!';
+ }
+ }
+}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.properties b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.properties
new file mode 100644
index 00000000000..45540bfaa84
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResources.properties
@@ -0,0 +1,33 @@
+cdi.Common.No_answer=No answer
+cdi.SourceManager.Unknown_type=Unknown type
+cdi.RegisterManager.Wrong_register_type=Wrong register type
+cdi.BreakpointManager.Not_a_CDT_breakpoint=Not a CDT breakpoint
+cdi.BreakpointManager.Not_Supported=Not Supported
+cdi.BreakpointManager.Parsing_Error=Parsing Error
+cdi.RuntimeOptions.Unable_to_set_args_target_not_responding=Unable to set arguments: target is not responding
+cdi.RuntimeOptions.Unable_to_set_args=Unable to set arguments:
+cdi.RuntimeOptions.Unable_to_set_args=Unable to set environment:
+cdi.RuntimeOptions.Unable_to_set_working_dir=Unable to set working directory:
+cdi.Session.Unknown_target=Unkown target
+cdi.VariableManager.Unknown_type=Unknown type
+cdi.VariableManager.Wrong_variable_type=Wrong variable type
+cdi.VariableManager.Unknown_variable_ogject=Unknown variable object
+cdi.SignalManager.ignore=aaignore
+cdi.SignalManager.noignore=noignoreqq
+cdi.SignalManager.stop=aastop
+cdi.SignalManager.nostop=nostopqq
+cdi.model.VariableObject.Target_not_responding=Target is not responding
+cdi.model.Target.Unknown_thread=Unknown thread
+cdi.model.Target.Target_not_responding=Target is not responding
+cdi.model.Target.Cannot_switch_to_thread=Can not switch to thread
+cdi.model.Target.Inferior_already_running=Inferior is already running
+cdi.model.MemoryBlock.Bad_Offset=Bad Offset
+src.MISession.Process_Terminated=Process Terminated
+src.MISession.Thread_Terminated={R,T}xThread terminated
+src.MISession.Target_not_suspended=Target is not suspended
+src.MISession.Session_terminated=Session terminated
+src.MISession.Target_not_responding=Target is not responding (timed out)
+src.CygwinGDBDebugger.Error_init_shared_lib_options=Error initializing shared library options:
+src.MIInferior.target_is_suspended=target is suspended
+src.MIInferior.No_session=No MI Session
+src.MIInferior.Failed_to_interrupt=Failed to interrupt
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java
index 65e9aedbe88..2214841714d 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java
@@ -117,7 +117,7 @@ public class Configuration implements ICDIConfiguration {
public boolean supportsSuspend() {
String os = null;
try {
- os = System.getProperty("os.name", "");
+ os = System.getProperty("os.name", ""); //$NON-NLS-1$ //$NON-NLS-2$
} catch (SecurityException e) {
}
Process gdb = miSession.getGDBProcess();
@@ -130,7 +130,7 @@ public class Configuration implements ICDIConfiguration {
// If we have a pty, sending a control-c will work
// except for solaris.
- if (os.equals("SunOS")) {
+ if (os.equals("SunOS")) { //$NON-NLS-1$
MIInferior inferior = miSession.getMIInferior();
if (inferior.getPTY() != null) {
// FIXME: bug in Solaris gdb when using -tty, sending a control-c
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java
index d5ddecd9ead..0e75ebc7345 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java
@@ -34,16 +34,14 @@ import org.eclipse.cdt.debug.mi.core.output.MIVarUpdateInfo;
/**
*/
-public class ExpressionManager extends SessionObject implements ICDIExpressionManager{
+public class ExpressionManager extends Manager implements ICDIExpressionManager{
private List expList;
- private boolean autoupdate;
MIVarChange[] noChanges = new MIVarChange[0];
public ExpressionManager(Session session) {
- super(session);
+ super(session, true);
expList = Collections.synchronizedList(new ArrayList());
- autoupdate = true;
}
/**
@@ -91,7 +89,7 @@ public class ExpressionManager extends SessionObject implements ICDIExpressionMa
mi.postCommand(var);
MIVarCreateInfo info = var.getMIVarCreateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
VariableObject varObj = new VariableObject(currentTarget, name, null, 0, 0);
expression = new Expression(varObj, info.getMIVar());
@@ -119,7 +117,7 @@ public class ExpressionManager extends SessionObject implements ICDIExpressionMa
mi.postCommand(var);
MIVarCreateInfo info = var.getMIVarCreateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
ICDITarget tgt = frame.getThread().getTarget();
VariableObject varObj = new VariableObject(tgt, name, frame, 0, 0);
@@ -189,7 +187,7 @@ public class ExpressionManager extends SessionObject implements ICDIExpressionMa
mi.postCommand(update);
MIVarUpdateInfo info = update.getMIVarUpdateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
changes = info.getMIVarChanges();
} catch (MIException e) {
@@ -211,18 +209,4 @@ public class ExpressionManager extends SessionObject implements ICDIExpressionMa
mi.fireEvents(events);
}
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIExpressionManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIExpressionManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java
index 573f5316d80..fa0d06d82e3 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java
@@ -12,8 +12,8 @@ import org.eclipse.cdt.debug.core.cdi.ICDILocation;
public class Location implements ICDILocation {
long addr;
- String file = "";
- String function = "";
+ String file = ""; //$NON-NLS-1$
+ String function = ""; //$NON-NLS-1$
int line;
public Location(String f, String fnct, int l) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java
new file mode 100644
index 00000000000..16d8a032624
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java
@@ -0,0 +1,64 @@
+/**********************************************************************
+ * Copyright (c) 2002,2003 QNX Software Systems and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * QNX Software Systems - Initial API and implementation
+***********************************************************************/
+
+package org.eclipse.cdt.debug.mi.core.cdi;
+
+import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.ICDIManager;
+import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent;
+
+/**
+ * Manager
+ *
+ */
+public abstract class Manager extends SessionObject implements ICDIManager {
+
+ boolean autoUpdate;
+
+ public Manager(Session session, boolean update) {
+ super(session);
+ autoUpdate = update;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.core.cdi.ICDIUpdateManager#setAutoUpdate(boolean)
+ */
+ public void setAutoUpdate(boolean update) {
+ autoUpdate = update;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.core.cdi.ICDIUpdateManager#isAutoUpdate()
+ */
+ public boolean isAutoUpdate() {
+ return autoUpdate;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.core.cdi.impl.Manager#update()
+ */
+ public abstract void update() throws CDIException;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent[])
+ */
+ public void handleDebugEvent(ICDIEvent[] events) {
+ for (int i = 0; i < events.length; i++) {
+ handleDebugEvent(events[i]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent)
+ */
+ public void handleDebugEvent(ICDIEvent event) {
+ }
+}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java
index 11ac2b15a8b..a070aa70182 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java
@@ -24,15 +24,13 @@ import org.eclipse.cdt.debug.mi.core.output.MIDataReadMemoryInfo;
/**
*/
-public class MemoryManager extends SessionObject implements ICDIMemoryManager {
+public class MemoryManager extends Manager implements ICDIMemoryManager {
List blockList;
- boolean autoupdate;
public MemoryManager(Session session) {
- super(session);
+ super(session, true);
blockList = new ArrayList();
- autoupdate = true;
}
/**
@@ -136,7 +134,7 @@ public class MemoryManager extends SessionObject implements ICDIMemoryManager {
mi.postCommand(mem);
MIDataReadMemoryInfo info = mem.getMIDataReadMemoryInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
return info;
} catch (MIException e) {
@@ -149,7 +147,7 @@ public class MemoryManager extends SessionObject implements ICDIMemoryManager {
*/
public ICDIMemoryBlock createMemoryBlock(long address, int length)
throws CDIException {
- String addr = "0x" + Long.toHexString(address);
+ String addr = "0x" + Long.toHexString(address); //$NON-NLS-1$
return createMemoryBlock(addr, length);
}
@@ -197,18 +195,4 @@ public class MemoryManager extends SessionObject implements ICDIMemoryManager {
}
}
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIMemoryManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIMemoryManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
index e940187fa71..97b95e9083b 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
@@ -34,16 +34,14 @@ import org.eclipse.cdt.debug.mi.core.output.MIVarUpdateInfo;
/**
*/
-public class RegisterManager extends SessionObject implements ICDIRegisterManager {
+public class RegisterManager extends Manager implements ICDIRegisterManager {
private List regList;
- private boolean autoupdate;
MIVarChange[] noChanges = new MIVarChange[0];
public RegisterManager(Session session) {
- super(session);
+ super(session, true);
regList = Collections.synchronizedList(new ArrayList());
- autoupdate = true;
}
/**
@@ -59,7 +57,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
MIDataListRegisterNamesInfo info =
registers.getMIDataListRegisterNamesInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
String[] names = info.getRegisterNames();
List regsList = new ArrayList(names.length);
@@ -86,7 +84,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
Register reg = getRegister(regObject);
if (reg == null) {
try {
- String name = "$" + regObj.getName();
+ String name = "$" + regObj.getName(); //$NON-NLS-1$
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
@@ -94,7 +92,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
mi.postCommand(var);
MIVarCreateInfo info = var.getMIVarCreateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
reg = new Register(regObj, info.getMIVar());
regList.add(reg);
@@ -104,7 +102,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
}
return reg;
}
- throw new CDIException("Wrong register type");
+ throw new CDIException(CdiResources.getString("cdi.RegisterManager.Wrong_register_type")); //$NON-NLS-1$
}
public Register createRegister(RegisterObject v, MIVar mivar) throws CDIException {
@@ -121,20 +119,6 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
}
/**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIRegisterManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIRegisterManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
* Use by the eventManager to find the Register;
*/
public Register getRegister(String varName) {
@@ -180,7 +164,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
MIDataListChangedRegistersInfo info =
changed.getMIDataListChangedRegistersInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
int[] regnos = info.getRegisterNumbers();
List eventList = new ArrayList(regnos.length);
@@ -197,7 +181,7 @@ public class RegisterManager extends SessionObject implements ICDIRegisterManage
mi.postCommand(update);
MIVarUpdateInfo updateInfo = update.getMIVarUpdateInfo();
if (updateInfo == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
changes = updateInfo.getMIVarChanges();
} catch (MIException e) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
index 46250887caa..e10e2883c8e 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RuntimeOptions.java
@@ -42,10 +42,10 @@ public class RuntimeOptions implements ICDIRuntimeOptions {
mi.postCommand(arguments);
MIInfo info = arguments.getMIInfo();
if (info == null) {
- throw new CDIException("Unable to set arguments: target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_args_target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
- throw new CDIException("Unable to set arguments: " + e.getMessage());
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_args") + e.getMessage()); //$NON-NLS-1$
}
}
@@ -73,10 +73,10 @@ public class RuntimeOptions implements ICDIRuntimeOptions {
mi.postCommand(set);
MIInfo info = set.getMIInfo();
if (info == null) {
- throw new CDIException("Unable to set environment: target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_args_target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
- throw new CDIException("Unable to set environment: " + e.getMessage());
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_environment") + e.getMessage()); //$NON-NLS-1$
}
}
}
@@ -95,10 +95,10 @@ public class RuntimeOptions implements ICDIRuntimeOptions {
mi.postCommand(cd);
MIInfo info = cd.getMIInfo();
if (info == null) {
- throw new CDIException("Unable to set working directory: target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_args_target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
- throw new CDIException("Unable to set working directory: " + e.getMessage());
+ throw new CDIException(CdiResources.getString("cdi.RuntimeOptions.Unable_to_set_working_dir") + e.getMessage()); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Session.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Session.java
index 0dd2f35d29e..1a0fa9841a4 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Session.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Session.java
@@ -172,7 +172,7 @@ public class Session implements ICDISession, ICDISessionObject {
if (target instanceof Target) {
ctarget = (Target)target;
} else {
- throw new CDIException("Unkown target");
+ throw new CDIException(CdiResources.getString("cdi.Session.Unknown_target")); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
index 532200c8ca3..ca60bb4d752 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
@@ -38,16 +38,14 @@ import org.eclipse.cdt.debug.mi.core.output.MIShared;
/**
* Manager of the CDI shared libraries.
*/
-public class SharedLibraryManager extends SessionObject implements ICDISharedLibraryManager {
+public class SharedLibraryManager extends Manager implements ICDISharedLibraryManager {
List sharedList;
- boolean autoupdate;
boolean isDeferred;
public SharedLibraryManager (Session session) {
- super(session);
+ super(session, true);
sharedList = new ArrayList(1);
- autoupdate = true;
}
MIShared[] getMIShareds() throws CDIException {
@@ -59,7 +57,7 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
session.getMISession().postCommand(infoShared);
MIInfoSharedLibraryInfo info = infoShared.getMIInfoSharedLibraryInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
miLibs = info.getMIShared();
} catch (MIException e) {
@@ -171,13 +169,13 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- MIGDBShow show = factory.createMIGDBShow(new String[]{"auto-solib-add"});
+ MIGDBShow show = factory.createMIGDBShow(new String[]{"auto-solib-add"}); //$NON-NLS-1$
try {
mi.postCommand(show);
MIGDBShowInfo info = show.getMIGDBShowInfo();
String value = info.getValue();
if (value != null) {
- return value.equalsIgnoreCase("on");
+ return value.equalsIgnoreCase("on"); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -202,13 +200,13 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- MIGDBShow show = factory.createMIGDBShow(new String[]{"stop-on-solib-events"});
+ MIGDBShow show = factory.createMIGDBShow(new String[]{"stop-on-solib-events"}); //$NON-NLS-1$
try {
mi.postCommand(show);
MIGDBShowInfo info = show.getMIGDBShowInfo();
String value = info.getValue();
if (value != null) {
- return value.equalsIgnoreCase("1");
+ return value.equalsIgnoreCase("1"); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -268,7 +266,7 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
mi.postCommand(sharedlibrary);
MIInfo info = sharedlibrary.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -292,7 +290,7 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
session.getMISession().postCommand(sharedlibrary);
MIInfo info = sharedlibrary.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -302,20 +300,6 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
}
}
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#supportsAutoLoadSymbols()
*/
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
index 4b3cb7dc4be..b60c8b4d5e8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
@@ -25,15 +25,13 @@ import org.eclipse.cdt.debug.mi.core.output.MISigHandle;
/**
*/
-public class SignalManager extends SessionObject implements ICDISignalManager {
+public class SignalManager extends Manager implements ICDISignalManager {
- boolean autoupdate;
MISigHandle[] noSigs = new MISigHandle[0];
List signalsList = null;
public SignalManager(Session session) {
- super(session);
- autoupdate = false;
+ super(session, false);
}
MISigHandle[] getMISignals() throws CDIException {
@@ -46,7 +44,7 @@ public class SignalManager extends SessionObject implements ICDISignalManager {
mi.postCommand(sigs);
MIInfoSignalsInfo info = sigs.getMIInfoSignalsInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
miSigs = info.getMISignals();
} catch (MIException e) {
@@ -65,7 +63,7 @@ public class SignalManager extends SessionObject implements ICDISignalManager {
mi.postCommand(sigs);
MIInfoSignalsInfo info = sigs.getMIInfoSignalsInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MISigHandle[] miSigs = info.getMISignals();
if (miSigs.length > 0) {
@@ -127,17 +125,17 @@ public class SignalManager extends SessionObject implements ICDISignalManager {
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
StringBuffer buffer = new StringBuffer(sig.getName());
- buffer.append(" ");
+ buffer.append(" "); //$NON-NLS-1$
if (isIgnore) {
- buffer.append("ignore");
+ buffer.append(CdiResources.getString("cdi.SignalManager.ignore")); //$NON-NLS-1$
} else {
- buffer.append("noignore");
+ buffer.append(CdiResources.getString("cdi.SignalManager.noignore")); //$NON-NLS-1$
}
- buffer.append(" ");
+ buffer.append(" "); //$NON-NLS-1$
if (isStop) {
- buffer.append("stop");
+ buffer.append(CdiResources.getString("cdi.SignalManager.stop")); //$NON-NLS-1$
} else {
- buffer.append("nostop");
+ buffer.append(CdiResources.getString("cdi.SignalManager.nostop")); //$NON-NLS-1$
}
MIHandle handle = factory.createMIHandle(buffer.toString());
try {
@@ -161,20 +159,6 @@ public class SignalManager extends SessionObject implements ICDISignalManager {
}
/**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISignalManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISignalManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
- /**
* @see org.eclipse.cdt.debug.core.cdi.ICDISignalManager#update()
*/
public void update() throws CDIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
index 10f2beac425..e039661e774 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SourceManager.java
@@ -51,14 +51,12 @@ import org.eclipse.cdt.debug.mi.core.output.MISrcAsm;
/**
*/
-public class SourceManager extends SessionObject implements ICDISourceManager {
+public class SourceManager extends Manager implements ICDISourceManager {
- boolean autoupdate;
GDBTypeParser gdbTypeParser;
public SourceManager(Session session) {
- super(session);
- autoupdate = false;
+ super(session, false);
gdbTypeParser = new GDBTypeParser();
}
@@ -131,7 +129,7 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- String hex = "0x";
+ String hex = "0x"; //$NON-NLS-1$
String sa = hex + Long.toHexString(start);
String ea = hex + Long.toHexString(end);
MIDataDisassemble dis = factory.createMIDataDisassemble(sa, ea, false);
@@ -185,7 +183,7 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- String hex = "0x";
+ String hex = "0x"; //$NON-NLS-1$
String sa = hex + Long.toHexString(start);
String ea = hex + Long.toHexString(end);
MIDataDisassemble dis = factory.createMIDataDisassemble(sa, ea, true);
@@ -204,20 +202,6 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
}
/**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISourceManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDISourceManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
- /**
* @see org.eclipse.cdt.debug.core.cdi.ICDISourceManager#update()
*/
public void update() throws CDIException {
@@ -271,7 +255,7 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
if (headType != null) {
return headType;
}
- throw new CDIException("Unknown type");
+ throw new CDIException(CdiResources.getString("cdi.SourceManager.Unknown_type")); //$NON-NLS-1$
}
Type toCDIType(ICDITarget target, String name) throws CDIException {
@@ -282,37 +266,37 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
String typename = name.trim();
// Check the primitives.
- if (typename.equals("char")) {
+ if (typename.equals("char")) { //$NON-NLS-1$
return new CharType(target, typename);
- } else if (typename.equals("wchar_t")) {
+ } else if (typename.equals("wchar_t")) { //$NON-NLS-1$
return new WCharType(target, typename);
- } else if (typename.equals("short")) {
+ } else if (typename.equals("short")) { //$NON-NLS-1$
return new ShortType(target, typename);
- } else if (typename.equals("int")) {
+ } else if (typename.equals("int")) { //$NON-NLS-1$
return new IntType(target, typename);
- } else if (typename.equals("long")) {
+ } else if (typename.equals("long")) { //$NON-NLS-1$
return new LongType(target, typename);
- } else if (typename.equals("unsigned")) {
+ } else if (typename.equals("unsigned")) { //$NON-NLS-1$
return new IntType(target, typename, true);
- } else if (typename.equals("signed")) {
+ } else if (typename.equals("signed")) { //$NON-NLS-1$
return new IntType(target, typename);
- } else if (typename.equals("bool")) {
+ } else if (typename.equals("bool")) { //$NON-NLS-1$
return new BoolType(target, typename);
- } else if (typename.equals("_Bool")) {
+ } else if (typename.equals("_Bool")) { //$NON-NLS-1$
return new BoolType(target, typename);
- } else if (typename.equals("float")) {
+ } else if (typename.equals("float")) { //$NON-NLS-1$
return new FloatType(target, typename);
- } else if (typename.equals("double")) {
+ } else if (typename.equals("double")) { //$NON-NLS-1$
return new DoubleType(target, typename);
- } else if (typename.equals("void")) {
+ } else if (typename.equals("void")) { //$NON-NLS-1$
return new VoidType(target, typename);
- } else if (typename.equals("enum")) {
+ } else if (typename.equals("enum")) { //$NON-NLS-1$
return new EnumType(target, typename);
- } else if (typename.equals("union")) {
+ } else if (typename.equals("union")) { //$NON-NLS-1$
return new StructType(target, typename);
- } else if (typename.equals("struct")) {
+ } else if (typename.equals("struct")) { //$NON-NLS-1$
return new StructType(target, typename);
- } else if (typename.equals("class")) {
+ } else if (typename.equals("class")) { //$NON-NLS-1$
return new StructType(target, typename);
}
@@ -325,24 +309,24 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
// ISOC allows permutations:
// "signed int" and "int signed" are equivalent
- boolean isUnsigned = (first.equals("unsigned") || second.equals("unsigned"));
- boolean isSigned = (first.equals("signed") || second.equals("signed"));
- boolean isChar = (first.equals("char") || second.equals("char"));
- boolean isInt = (first.equals("int") || second.equals("int"));
- boolean isLong = (first.equals("long") || second.equals("long"));
- boolean isShort = (first.equals("short") || second.equals("short"));
- boolean isLongLong = (first.equals("long") && second.equals("long"));
+ boolean isUnsigned = (first.equals("unsigned") || second.equals("unsigned")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isSigned = (first.equals("signed") || second.equals("signed")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isChar = (first.equals("char") || second.equals("char")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isInt = (first.equals("int") || second.equals("int")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isLong = (first.equals("long") || second.equals("long")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isShort = (first.equals("short") || second.equals("short")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isLongLong = (first.equals("long") && second.equals("long")); //$NON-NLS-1$ //$NON-NLS-2$
- boolean isDouble = (first.equals("double") || second.equals("double"));
- boolean isFloat = (first.equals("float") || second.equals("float"));
- boolean isComplex = (first.equals("complex") || second.equals("complex") ||
- first.equals("_Complex") || second.equals("_Complex"));
- boolean isImaginery = (first.equals("_Imaginary") || second.equals("_Imaginary"));
+ boolean isDouble = (first.equals("double") || second.equals("double")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isFloat = (first.equals("float") || second.equals("float")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isComplex = (first.equals("complex") || second.equals("complex") || //$NON-NLS-1$ //$NON-NLS-2$
+ first.equals("_Complex") || second.equals("_Complex")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isImaginery = (first.equals("_Imaginary") || second.equals("_Imaginary")); //$NON-NLS-1$ //$NON-NLS-2$
- boolean isStruct = first.equals("struct");
- boolean isClass = first.equals("class");
- boolean isUnion = first.equals("union");
- boolean isEnum = first.equals("enum");
+ boolean isStruct = first.equals("struct"); //$NON-NLS-1$
+ boolean isClass = first.equals("class"); //$NON-NLS-1$
+ boolean isUnion = first.equals("union"); //$NON-NLS-1$
+ boolean isEnum = first.equals("enum"); //$NON-NLS-1$
if (isChar && (isSigned || isUnsigned)) {
return new CharType(target, typename, isUnsigned);
@@ -379,17 +363,17 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
String second = st.nextToken();
String third = st.nextToken();
- boolean isSigned = (first.equals("signed") || second.equals("signed") || third.equals("signed"));
- boolean unSigned = (first.equals("unsigned") || second.equals("unsigned") || third.equals("unsigned"));
- boolean isInt = (first.equals("int") || second.equals("int") || third.equals("int"));
- boolean isLong = (first.equals("long") || second.equals("long") || third.equals("long"));
- boolean isShort = (first.equals("short") || second.equals("short") || third.equals("short"));
- boolean isLongLong = (first.equals("long") && second.equals("long")) ||
- (second.equals("long") && third.equals("long"));
- boolean isDouble = (first.equals("double") || second.equals("double") || third.equals("double"));
- boolean isComplex = (first.equals("complex") || second.equals("complex") || third.equals("complex") ||
- first.equals("_Complex") || second.equals("_Complex") || third.equals("_Complex"));
- boolean isImaginery = (first.equals("_Imaginary") || second.equals("_Imaginary") || third.equals("_Imaginary"));
+ boolean isSigned = (first.equals("signed") || second.equals("signed") || third.equals("signed")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean unSigned = (first.equals("unsigned") || second.equals("unsigned") || third.equals("unsigned")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isInt = (first.equals("int") || second.equals("int") || third.equals("int")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isLong = (first.equals("long") || second.equals("long") || third.equals("long")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isShort = (first.equals("short") || second.equals("short") || third.equals("short")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isLongLong = (first.equals("long") && second.equals("long")) || //$NON-NLS-1$ //$NON-NLS-2$
+ (second.equals("long") && third.equals("long")); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean isDouble = (first.equals("double") || second.equals("double") || third.equals("double")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isComplex = (first.equals("complex") || second.equals("complex") || third.equals("complex") || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ first.equals("_Complex") || second.equals("_Complex") || third.equals("_Complex")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ boolean isImaginery = (first.equals("_Imaginary") || second.equals("_Imaginary") || third.equals("_Imaginary")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
if (isShort && isInt && (isSigned || unSigned)) {
@@ -411,18 +395,18 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
String third = st.nextToken();
String fourth = st.nextToken();
- boolean unSigned = (first.equals("unsigned") || second.equals("unsigned") || third.equals("unsigned") || fourth.equals("unsigned"));
- boolean isSigned = (first.equals("signed") || second.equals("signed") || third.equals("signed") || fourth.equals("signed"));
- boolean isInt = (first.equals("int") || second.equals("int") || third.equals("int") || fourth.equals("int"));
- boolean isLongLong = (first.equals("long") && second.equals("long"))
- || (second.equals("long") && third.equals("long"))
- || (third.equals("long") && fourth.equals("long"));
+ boolean unSigned = (first.equals("unsigned") || second.equals("unsigned") || third.equals("unsigned") || fourth.equals("unsigned")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ boolean isSigned = (first.equals("signed") || second.equals("signed") || third.equals("signed") || fourth.equals("signed")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ boolean isInt = (first.equals("int") || second.equals("int") || third.equals("int") || fourth.equals("int")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ boolean isLongLong = (first.equals("long") && second.equals("long")) //$NON-NLS-1$ //$NON-NLS-2$
+ || (second.equals("long") && third.equals("long")) //$NON-NLS-1$ //$NON-NLS-2$
+ || (third.equals("long") && fourth.equals("long")); //$NON-NLS-1$ //$NON-NLS-2$
if (isLongLong && isInt && (isSigned || unSigned)) {
return new LongLongType(target, typename, unSigned);
}
}
- throw new CDIException("Unknown type");
+ throw new CDIException(CdiResources.getString("cdi.SourceManager.Unknown_type")); //$NON-NLS-1$
}
public String getDetailTypeName(String typename) throws CDIException {
@@ -434,7 +418,7 @@ public class SourceManager extends SessionObject implements ICDISourceManager {
mi.postCommand(ptype);
MIPTypeInfo info = ptype.getMIPtypeInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
return info.getType();
} catch (MIException e) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ThreadManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ThreadManager.java
new file mode 100644
index 00000000000..1e69bf6e54e
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/ThreadManager.java
@@ -0,0 +1,34 @@
+/*
+ *(c) Copyright QNX Software Systems Ltd. 2002.
+ * All Rights Reserved.
+ *
+ */
+package org.eclipse.cdt.debug.mi.core.cdi;
+
+import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.model.ICDIThread;
+
+
+/**
+ */
+public class ThreadManager extends Manager { //implements ICDIThreadManager {
+
+
+ public ThreadManager(Session session) {
+ super(session, true);
+ }
+
+ /**
+ * @see org.eclipse.cdt.debug.core.cdi.ICDIThreadManager#getThreads()
+ */
+ public ICDIThread[] getThreads() throws CDIException {
+ return new ICDIThread[] {};
+ }
+
+ /**
+ * @see org.eclipse.cdt.debug.core.cdi.ICDIThreadManager#update()
+ */
+ public void update() throws CDIException {
+ }
+
+}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
index 2c51b5e9ca5..5c5a6d9d67b 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
@@ -46,20 +46,18 @@ import org.eclipse.cdt.debug.mi.core.output.MIVarUpdateInfo;
/**
*/
-public class VariableManager extends SessionObject implements ICDIVariableManager {
+public class VariableManager extends Manager implements ICDIVariableManager {
// We put a restriction on how deep we want to
// go when doing update of the variables.
// If the number is to high, gdb will just hang.
int MAX_STACK_DEPTH = 200;
List variableList;
- boolean autoupdate;
MIVarChange[] noChanges = new MIVarChange[0];
public VariableManager(Session session) {
- super(session);
+ super(session, true);
variableList = Collections.synchronizedList(new ArrayList());
- autoupdate = true;
}
/**
@@ -132,13 +130,13 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(ptype);
MIPTypeInfo info = ptype.getMIPtypeInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
}
} else {
- throw new CDIException("Unknown type");
+ throw new CDIException(CdiResources.getString("cdi.VariableManager.Unknown_type")); //$NON-NLS-1$
}
}
@@ -206,7 +204,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(var);
MIVarCreateInfo info = var.getMIVarCreateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
argument = new Argument(argObj, info.getMIVar());
variableList.add(argument);
@@ -220,7 +218,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
}
return argument;
}
- throw new CDIException("Wrong variable type");
+ throw new CDIException(CdiResources.getString("cdi.VariableManager.Wrong_variable_type")); //$NON-NLS-1$
}
/**
@@ -245,7 +243,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(listArgs);
MIStackListArgumentsInfo info = listArgs.getMIStackListArgumentsInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIFrame[] miFrames = info.getMIFrames();
if (miFrames != null && miFrames.length == 1) {
@@ -281,10 +279,10 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
}
StringBuffer buffer = new StringBuffer();
if (filename.length() > 0) {
- buffer.append('\'').append(filename).append('\'').append("::");
+ buffer.append('\'').append(filename).append('\'').append("::"); //$NON-NLS-1$
}
if (function.length() > 0) {
- buffer.append(function).append("::");
+ buffer.append(function).append("::"); //$NON-NLS-1$
}
buffer.append(name);
ICDITarget target = getSession().getCurrentTarget();
@@ -313,7 +311,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
vo.setCastingArrayEnd(length);
return vo;
}
- throw new CDIException("Unknown variable object");
+ throw new CDIException(CdiResources.getString("cdi.VariableManager.Unknown_variable_object")); //$NON-NLS-1$
}
/**
@@ -337,12 +335,12 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
obj.getStackDepth());
String casting = obj.getCastingType();
if (casting != null && casting.length() > 0) {
- type = "(" + type + ")" + "(" + casting + " )";
+ type = "(" + type + ")" + "(" + casting + " )"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
vo.setCastingType(type);
return vo;
}
- throw new CDIException("Unknown variable object");
+ throw new CDIException(CdiResources.getString("cdi.VariableManager.Unknown_variable_object")); //$NON-NLS-1$
}
/**
@@ -364,7 +362,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(locals);
MIStackListLocalsInfo info = locals.getMIStackListLocalsInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
args = info.getLocals();
if (args != null) {
@@ -423,7 +421,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(var);
MIVarCreateInfo info = var.getMIVarCreateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
variable = new Variable(varObj, info.getMIVar());
variableList.add(variable);
@@ -437,7 +435,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
}
return variable;
}
- throw new CDIException("Wrong variable type");
+ throw new CDIException(CdiResources.getString("cdi.VariableManager.Wrong_variable_type")); //$NON-NLS-1$
}
/**
@@ -455,20 +453,6 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
}
/**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIVariableManager#isAutoUpdate()
- */
- public boolean isAutoUpdate() {
- return autoupdate;
- }
-
- /**
- * @see org.eclipse.cdt.debug.core.cdi.ICDIVariableManager#setAutoUpdate(boolean)
- */
- public void setAutoUpdate(boolean update) {
- autoupdate = update;
- }
-
- /**
* Update the elements in the cache, from the response of the "-var-update"
* mi/command. Althought tempting we do not use the "-var-update *" command, since
* for some reason on gdb-5.2.1 it starts to misbehave until it hangs ... sigh
@@ -517,7 +501,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
mi.postCommand(update);
MIVarUpdateInfo info = update.getMIVarUpdateInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
changes = info.getMIVarChanges();
} catch (MIException e) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java
index 9f2bc779db0..b2ed39cd711 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java
@@ -9,6 +9,7 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MIFormat;
import org.eclipse.cdt.debug.mi.core.MISession;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException;
import org.eclipse.cdt.debug.mi.core.cdi.MemoryManager;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
@@ -165,21 +166,21 @@ public class MemoryBlock extends CObject implements ICDIMemoryBlock {
*/
public void setValue(long offset, byte[] bytes) throws CDIException {
if (offset >= getLength() || offset + bytes.length > getLength()) {
- throw new CDIException("Bad Offset");
+ throw new CDIException(CdiResources.getString("cdi.model.MemoryBlock.Bad_Offset")); //$NON-NLS-1$
}
Session session = (Session)getTarget().getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
for (int i = 0; i < bytes.length; i++) {
long l = new Byte(bytes[i]).longValue() & 0xff;
- String value = "0x" + Long.toHexString(l);
+ String value = "0x" + Long.toHexString(l); //$NON-NLS-1$
MIDataWriteMemory mw = factory.createMIDataWriteMemory(offset + i,
expression, MIFormat.HEXADECIMAL, 1, value);
try {
mi.postCommand(mw);
MIInfo info = mw.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java
index d082b059221..249e8ecaa35 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java
@@ -9,6 +9,7 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDIRegister;
import org.eclipse.cdt.debug.core.cdi.model.ICDIVariable;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException;
import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
@@ -36,7 +37,7 @@ public class Register extends Variable implements ICDIRegister {
mi.postCommand(var);
MIVarListChildrenInfo info = var.getMIVarListChildrenInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIVar[] vars = info.getMIVars();
children = new Register[vars.length];
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
index be5872b325c..aa0bfae70a8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
@@ -119,7 +119,7 @@ public class StackFrame extends CObject implements ICDIStackFrame {
return new Location(frame.getFile(), frame.getFunction(),
frame.getLine(), frame.getAddress());
}
- return new Location("", "", 0, 0);
+ return new Location("", "", 0, 0); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
index 7564b960738..dc52698e880 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
@@ -44,6 +44,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIDataEvaluateExpressionInfo;
import org.eclipse.cdt.debug.mi.core.output.MIInfo;
import org.eclipse.cdt.debug.mi.core.output.MIInfoThreadsInfo;
import org.eclipse.cdt.debug.mi.core.output.MIThreadSelectInfo;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
/**
*/
@@ -89,7 +90,7 @@ public class Target implements ICDITarget {
if (cthread instanceof Thread) {
setCurrentThread(cthread, true);
} else {
- throw new CDIException("Unknown thread");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Unknown_thread")); //$NON-NLS-1$
}
}
@@ -97,7 +98,7 @@ public class Target implements ICDITarget {
if (cthread instanceof Thread) {
setCurrentThread((Thread)cthread, doUpdate);
} else {
- throw new CDIException("Unknown thread");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Unknown_thread")); //$NON-NLS-1$
}
}
@@ -121,7 +122,7 @@ public class Target implements ICDITarget {
mi.postCommand(select);
MIThreadSelectInfo info = select.getMIThreadSelectInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
currentThreadId = info.getNewThreadId();
} catch (MIException e) {
@@ -148,7 +149,7 @@ public class Target implements ICDITarget {
// thread is gone. Generate a Thread destroyed.
MISession mi = session.getMISession();
mi.fireEvent(new MIThreadExitEvent(id));
- throw new CDIException("Can not swith to thread " + id);
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Cannot_switch_to_thread") + id); //$NON-NLS-1$
}
}
@@ -318,7 +319,7 @@ public class Target implements ICDITarget {
mi.postCommand(run);
MIInfo info = run.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -331,7 +332,7 @@ public class Target implements ICDITarget {
public void resume() throws CDIException {
MISession mi = session.getMISession();
if (mi.getMIInferior().isRunning()) {
- throw new CDIException("Inferior is already running");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Inferior_already_running")); //$NON-NLS-1$
} else if (mi.getMIInferior().isSuspended()) {
CommandFactory factory = mi.getCommandFactory();
MIExecContinue cont = factory.createMIExecContinue();
@@ -340,7 +341,7 @@ public class Target implements ICDITarget {
mi.postCommand(cont);
MIInfo info = cont.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -364,7 +365,7 @@ public class Target implements ICDITarget {
mi.postCommand(step);
MIInfo info = step.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -383,7 +384,7 @@ public class Target implements ICDITarget {
mi.postCommand(stepi);
MIInfo info = stepi.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -402,7 +403,7 @@ public class Target implements ICDITarget {
mi.postCommand(next);
MIInfo info = next.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -421,7 +422,7 @@ public class Target implements ICDITarget {
mi.postCommand(nexti);
MIInfo info = nexti.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -457,7 +458,7 @@ public class Target implements ICDITarget {
mi.postCommand(finish);
MIInfo info = finish.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -475,7 +476,7 @@ public class Target implements ICDITarget {
mi.postCommand(ret);
MIInfo info = ret.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -505,7 +506,7 @@ public class Target implements ICDITarget {
mi.postCommand(detach);
MIInfo info = detach.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -523,13 +524,13 @@ public class Target implements ICDITarget {
public void runUntil(ICDILocation location) throws CDIException {
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- String loc = "";
+ String loc = ""; //$NON-NLS-1$
if (location.getFile() != null && location.getFile().length() > 0) {
- loc = location.getFile() + ":" + location.getLineNumber();
+ loc = location.getFile() + ":" + location.getLineNumber(); //$NON-NLS-1$
} else if (location.getFunction() != null && location.getFunction().length() > 0) {
loc = location.getFunction();
} else if (location.getAddress() != 0) {
- loc = "*" + location.getAddress();
+ loc = "*" + location.getAddress(); //$NON-NLS-1$
}
MIExecUntil until = factory.createMIExecUntil(loc);
lastExecutionCommand = until;
@@ -537,7 +538,7 @@ public class Target implements ICDITarget {
mi.postCommand(until);
MIInfo info = until.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -551,13 +552,13 @@ public class Target implements ICDITarget {
public void jump(ICDILocation location) throws CDIException {
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- String loc = "";
+ String loc = ""; //$NON-NLS-1$
if (location.getFile() != null && location.getFile().length() > 0) {
- loc = location.getFile() + ":" + location.getLineNumber();
+ loc = location.getFile() + ":" + location.getLineNumber(); //$NON-NLS-1$
} else if (location.getFunction() != null && location.getFunction().length() > 0) {
loc = location.getFunction();
} else if (location.getAddress() != 0) {
- loc = "*" + location.getAddress();
+ loc = "*" + location.getAddress(); //$NON-NLS-1$
}
MIJump jump = factory.createMIJump(loc);
lastExecutionCommand = jump;
@@ -565,7 +566,7 @@ public class Target implements ICDITarget {
mi.postCommand(jump);
MIInfo info = jump.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -586,7 +587,7 @@ public class Target implements ICDITarget {
MIDataEvaluateExpressionInfo info =
evaluate.getMIDataEvaluateExpressionInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
return info.getExpression();
} catch (MIException e) {
@@ -644,12 +645,12 @@ public class Target implements ICDITarget {
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- MISignal signal = factory.createMISignal("0");
+ MISignal signal = factory.createMISignal("0"); //$NON-NLS-1$
try {
mi.postCommand(signal);
MIInfo info = signal.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -668,7 +669,7 @@ public class Target implements ICDITarget {
mi.postCommand(sig);
MIInfo info = sig.getMIInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.Target.Target_not_responding")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
index f1acc328ca4..7df550e0e47 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
@@ -16,6 +16,7 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
import org.eclipse.cdt.debug.core.cdi.model.ICDIThread;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException;
import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
@@ -99,7 +100,7 @@ public class Thread extends CObject implements ICDIThread {
mi.postCommand(frames);
MIStackListFramesInfo info = frames.getMIStackListFramesInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIFrame[] miFrames = info.getMIFrames();
for (int i = 0; i < miFrames.length; i++) {
@@ -146,7 +147,7 @@ public class Thread extends CObject implements ICDIThread {
// Catch the first exception gdb can recover the second time.
info = depth.getMIStackInfoDepthInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
stackdepth = info.getDepth();
} catch (MIException e) {
@@ -155,7 +156,7 @@ public class Thread extends CObject implements ICDIThread {
mi.postCommand(depth);
info = depth.getMIStackInfoDepthInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
stackdepth = info.getDepth();
if (stackdepth > 0) {
@@ -199,7 +200,7 @@ public class Thread extends CObject implements ICDIThread {
mi.postCommand(frames);
MIStackListFramesInfo info = frames.getMIStackListFramesInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIFrame[] miFrames = info.getMIFrames();
for (int i = 0; i < miFrames.length; i++) {
@@ -264,7 +265,7 @@ public class Thread extends CObject implements ICDIThread {
mi.postCommand(frame);
MIInfo info = frame.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
currentFrame = stackframe;
// Resetting stackframe may change the value of
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
index 43f710308fd..1a794e4c8bd 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
@@ -10,6 +10,7 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDIValue;
import org.eclipse.cdt.debug.core.cdi.model.ICDIVariable;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
import org.eclipse.cdt.debug.mi.core.command.MIVarEvaluateExpression;
@@ -37,7 +38,7 @@ public class Value extends CObject implements ICDIValue {
* @see org.eclipse.cdt.debug.core.cdi.model.ICDIValue#getValueString()
*/
public String getValueString() throws CDIException {
- String result = "";
+ String result = ""; //$NON-NLS-1$
MISession mi = ((Session)(getTarget().getSession())).getMISession();
CommandFactory factory = mi.getCommandFactory();
MIVarEvaluateExpression var =
@@ -46,7 +47,7 @@ public class Value extends CObject implements ICDIValue {
mi.postCommand(var);
MIVarEvaluateExpressionInfo info = var.getMIVarEvaluateExpressionInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
result = info.getValue();
} catch (MIException e) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
index e67d08371eb..949597d104e 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
@@ -31,6 +31,7 @@ import org.eclipse.cdt.debug.core.cdi.model.type.ICDIType;
import org.eclipse.cdt.debug.core.cdi.model.type.ICDIWCharType;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
import org.eclipse.cdt.debug.mi.core.cdi.Format;
import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
@@ -113,18 +114,18 @@ public class Variable extends VariableObject implements ICDIVariable {
mi.postCommand(var);
MIVarInfoExpressionInfo info = var.getMIVarInfoExpressionInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
language = info.getLanguage();
} catch (MIException e) {
throw new MI2CDIException(e);
}
}
- return (language == null) ? "" : language;
+ return (language == null) ? "" : language; //$NON-NLS-1$
}
boolean isCPPLanguage() throws CDIException {
- return getLanguage().equalsIgnoreCase("C++");
+ return getLanguage().equalsIgnoreCase("C++"); //$NON-NLS-1$
}
void setIsFake(boolean f) {
@@ -157,7 +158,7 @@ public class Variable extends VariableObject implements ICDIVariable {
}
MIVarListChildrenInfo info = var.getMIVarListChildrenInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
MIVar[] vars = info.getMIVars();
children = new Variable[vars.length];
@@ -168,12 +169,12 @@ public class Variable extends VariableObject implements ICDIVariable {
boolean childFake = false;
ICDIType t = getType();
if (t instanceof ICDIArrayType) {
- fn = "(" + fn + ")[" + i + "]";
+ fn = "(" + fn + ")[" + i + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// For Array gdb varobj only return the index, override here.
int index = castingIndex + i;
- childName = getName() + "[" + index + "]";
+ childName = getName() + "[" + index + "]"; //$NON-NLS-1$ //$NON-NLS-2$
} else if (t instanceof ICDIPointerType) {
- fn = "*(" + fn + ")";
+ fn = "*(" + fn + ")"; //$NON-NLS-1$ //$NON-NLS-2$
} else if (t instanceof ICDIStructType) {
if (isCPPLanguage()) {
// For C++ in GDB the children of the
@@ -193,14 +194,14 @@ public class Variable extends VariableObject implements ICDIVariable {
// So we choose to ignore the first set of children
// but carry over to those "fake" variables the typename and the qualified name
if (!isFake()
- || (isFake() && !(name.equals("private") || name.equals("public") || name.equals("protected")))) {
+ || (isFake() && !(name.equals("private") || name.equals("public") || name.equals("protected")))) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
childFake = true;
childTypename = getTypeName();
} else {
- fn = "(" + fn + ")." + vars[i].getExp();
+ fn = "(" + fn + ")." + vars[i].getExp(); //$NON-NLS-1$ //$NON-NLS-2$
}
} else { // If not C++ language
- fn = "(" + fn + ")." + vars[i].getExp();
+ fn = "(" + fn + ")." + vars[i].getExp(); //$NON-NLS-1$ //$NON-NLS-2$
}
}
Variable v = new Variable(getTarget(), childName, fn, getStackFrame(), getPosition(), getStackDepth(), vars[i]);
@@ -297,7 +298,7 @@ public class Variable extends VariableObject implements ICDIVariable {
mi.postCommand(var);
MIInfo info = var.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
@@ -348,14 +349,14 @@ public class Variable extends VariableObject implements ICDIVariable {
mi.postCommand(var);
MIVarShowAttributesInfo info = var.getMIVarShowAttributesInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
editable = String.valueOf(info.isEditable());
} catch (MIException e) {
throw new MI2CDIException(e);
}
}
- return (editable == null) ? false : editable.equalsIgnoreCase("true");
+ return (editable == null) ? false : editable.equalsIgnoreCase("true"); //$NON-NLS-1$
}
/**
@@ -370,7 +371,7 @@ public class Variable extends VariableObject implements ICDIVariable {
mi.postCommand(var);
MIInfo info = var.getMIInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
throw new MI2CDIException(e);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
index b78fa20db6c..dbeb7613f92 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableObject.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.debug.mi.core.command.MIDataEvaluateExpression;
import org.eclipse.cdt.debug.mi.core.command.MIWhatis;
import org.eclipse.cdt.debug.mi.core.output.MIDataEvaluateExpressionInfo;
import org.eclipse.cdt.debug.mi.core.output.MIWhatisInfo;
+import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
/**
*/
@@ -119,7 +120,7 @@ public class VariableObject extends CObject implements ICDIVariableObject {
String fn = getFullName();
if (castingLength > 0 || castingIndex > 0) {
StringBuffer buffer = new StringBuffer();
- buffer.append("*(");
+ buffer.append("*("); //$NON-NLS-1$
buffer.append('(').append(fn).append(')');
if (castingIndex != 0) {
buffer.append('+').append(castingIndex);
@@ -129,7 +130,7 @@ public class VariableObject extends CObject implements ICDIVariableObject {
fn = buffer.toString();
} else if (castingType != null && castingType.length() > 0) {
StringBuffer buffer = new StringBuffer();
- buffer.append("((").append(castingType).append(')');
+ buffer.append("((").append(castingType).append(')'); //$NON-NLS-1$
buffer.append(fn).append(')');
fn = buffer.toString();
}
@@ -185,13 +186,13 @@ public class VariableObject extends CObject implements ICDIVariableObject {
Session session = (Session) (target.getSession());
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
- String exp = "sizeof(" + getTypeName() + ")";
+ String exp = "sizeof(" + getTypeName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
MIDataEvaluateExpression evaluate = factory.createMIDataEvaluateExpression(exp);
try {
mi.postCommand(evaluate);
MIDataEvaluateExpressionInfo info = evaluate.getMIDataEvaluateExpressionInfo();
if (info == null) {
- throw new CDIException("Target is not responding");
+ throw new CDIException(CdiResources.getString("cdi.model.VariableObject.Target_not_responding")); //$NON-NLS-1$
}
sizeof = info.getExpression();
} catch (MIException e) {
@@ -244,7 +245,7 @@ public class VariableObject extends CObject implements ICDIVariableObject {
mi.postCommand(whatis);
MIWhatisInfo info = whatis.getMIWhatisInfo();
if (info == null) {
- throw new CDIException("No answer");
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
}
typename = info.getType();
} catch (MIException e) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java
index 7ab814166de..e06a71265d1 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Watchpoint.java
@@ -19,7 +19,7 @@ public class Watchpoint extends Breakpoint implements ICDIWatchpoint {
String what;
public Watchpoint(BreakpointManager m, String expression, int type, int wType, ICDICondition cond) {
- super(m, type, null, cond, "");
+ super(m, type, null, cond, ""); //$NON-NLS-1$
watchType = wType;
what = expression;
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
index 47f68d02a69..12d5f804238 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FloatingPointValue.java
@@ -64,14 +64,14 @@ public abstract class FloatingPointValue extends Value implements ICDIFloatingPo
}
private boolean isPositiveInfinity(String valueString) {
- return (valueString != null) ? valueString.indexOf("inf") != -1 : false;
+ return (valueString != null) ? valueString.indexOf("inf") != -1 : false; //$NON-NLS-1$
}
private boolean isNegativeInfinity(String valueString) {
- return (valueString != null) ? valueString.indexOf("-inf") != -1 : false;
+ return (valueString != null) ? valueString.indexOf("-inf") != -1 : false; //$NON-NLS-1$
}
private boolean isNaN(String valueString) {
- return (valueString != null) ? valueString.indexOf("nan") != -1 : false;
+ return (valueString != null) ? valueString.indexOf("nan") != -1 : false; //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java
index ef595b30afe..f74fd3ac783 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/FunctionType.java
@@ -13,7 +13,7 @@ import org.eclipse.cdt.debug.core.cdi.model.type.ICDIType;
*/
public class FunctionType extends DerivedType implements ICDIFunctionType {
- String params = "";
+ String params = ""; //$NON-NLS-1$
public FunctionType(ICDITarget target, String typename) {
super(target, typename);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java
index dc075b1fbaa..2a2d6b2a968 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/ReferenceValue.java
@@ -30,9 +30,9 @@ public class ReferenceValue extends DerivedValue implements ICDIReferenceValue {
public long referenceValue() throws CDIException {
long value = 0;
String valueString = getValueString().trim();
- if ( valueString.startsWith("@") )
+ if ( valueString.startsWith("@") ) //$NON-NLS-1$
valueString = valueString.substring( 1 );
- int space = valueString.indexOf(":");
+ int space = valueString.indexOf(":"); //$NON-NLS-1$
if (space != -1) {
valueString = valueString.substring(0, space).trim();
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructType.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructType.java
index 6ee857bced4..8f8bd44cc0a 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructType.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/StructType.java
@@ -25,21 +25,21 @@ public class StructType extends AggregateType implements ICDIStructType {
* @see org.eclipse.cdt.debug.core.cdi.model.type.ICDIStructType#isClass()
*/
public boolean isClass() {
- return getDetailTypeName().startsWith("class");
+ return getDetailTypeName().startsWith("class"); //$NON-NLS-1$
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.cdi.model.type.ICDIStructType#isStruct()
*/
public boolean isStruct() {
- return getDetailTypeName().startsWith("struct");
+ return getDetailTypeName().startsWith("struct"); //$NON-NLS-1$
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.cdi.model.type.ICDIStructType#isUnion()
*/
public boolean isUnion() {
- return getDetailTypeName().startsWith("union");
+ return getDetailTypeName().startsWith("union"); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java
index 6dd7168a6b4..7afc3f66a2a 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java
@@ -16,7 +16,7 @@ package org.eclipse.cdt.debug.mi.core.command;
public class MIEnvironmentDirectory extends MICommand
{
public MIEnvironmentDirectory(String[] paths) {
- super("-environment-directory", paths);
+ super("-environment-directory", paths); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIExecArguments.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIExecArguments.java
index 17cf2c15926..201533148d7 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIExecArguments.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIExecArguments.java
@@ -17,6 +17,6 @@ package org.eclipse.cdt.debug.mi.core.command;
public class MIExecArguments extends MICommand
{
public MIExecArguments(String[] args) {
- super("-exec-arguments", args);
+ super("-exec-arguments", args); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java
index f2612ad4406..544883c6cf7 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBSetEnvironment.java
@@ -19,7 +19,7 @@ public class MIGDBSetEnvironment extends MIGDBSet {
super(paths);
// Overload the parameter
String[] newPaths = new String[paths.length + 1];
- newPaths[0] = "environment";
+ newPaths[0] = "environment"; //$NON-NLS-1$
System.arraycopy(paths, 0, newPaths, 1, paths.length);
setParameters(newPaths);
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowDirectories.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowDirectories.java
index 2daf09f87ef..3fa03942652 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowDirectories.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowDirectories.java
@@ -20,7 +20,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
*/
public class MIGDBShowDirectories extends MIGDBShow {
public MIGDBShowDirectories() {
- super(new String[] { "directories" });
+ super(new String[] { "directories" }); //$NON-NLS-1$
}
public MIGDBShowDirectoriesInfo getMIGDBShowDirectoriesInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowSolibSearchPath.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowSolibSearchPath.java
index 1cb287252e4..8409fa58a76 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowSolibSearchPath.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIGDBShowSolibSearchPath.java
@@ -20,7 +20,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
*/
public class MIGDBShowSolibSearchPath extends MIGDBShow {
public MIGDBShowSolibSearchPath() {
- super(new String[] { "solib-search-path" });
+ super(new String[] { "solib-search-path" }); //$NON-NLS-1$
}
public MIGDBShowSolibSearchPathInfo getMIGDBShowSolibSearchPathInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIHandle.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIHandle.java
index 5b7e1448845..cf0c36d4f65 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIHandle.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIHandle.java
@@ -16,7 +16,7 @@ package org.eclipse.cdt.debug.mi.core.command;
public class MIHandle extends CLICommand {
public MIHandle(String arg) {
- super("handle " + arg);
+ super("handle " + arg); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java
index a0b3257f866..16b77e92873 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoProgram.java
@@ -19,7 +19,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
public class MIInfoProgram extends CLICommand
{
public MIInfoProgram() {
- super("info program");
+ super("info program"); //$NON-NLS-1$
}
public MIInfoProgramInfo getMIInfoProgramInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSharedLibrary.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSharedLibrary.java
index 1a3bbab3256..66e97b5ba5c 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSharedLibrary.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSharedLibrary.java
@@ -19,7 +19,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
public class MIInfoSharedLibrary extends CLICommand
{
public MIInfoSharedLibrary() {
- super("info sharedlibrary");
+ super("info sharedlibrary"); //$NON-NLS-1$
}
public MIInfoSharedLibraryInfo getMIInfoSharedLibraryInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java
index db3c2f67736..4205081c46d 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoSignals.java
@@ -19,11 +19,11 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
public class MIInfoSignals extends CLICommand
{
public MIInfoSignals() {
- super("info signals");
+ super("info signals"); //$NON-NLS-1$
}
public MIInfoSignals(String name) {
- super("info signal " + name);
+ super("info signal " + name); //$NON-NLS-1$
}
public MIInfoSignalsInfo getMIInfoSignalsInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoThreads.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoThreads.java
index 6f57f6b81b5..0039ae966ba 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoThreads.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIInfoThreads.java
@@ -19,7 +19,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIOutput;
public class MIInfoThreads extends CLICommand
{
public MIInfoThreads() {
- super("info threads");
+ super("info threads"); //$NON-NLS-1$
}
public MIInfoThreadsInfo getMIInfoThreadsInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIJump.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIJump.java
index 941ddbcc29b..eee80eafa24 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIJump.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIJump.java
@@ -20,7 +20,7 @@ public class MIJump extends CLICommand {
MIOutput out;
public MIJump(String loc) {
- super("jump " + loc);
+ super("jump " + loc); //$NON-NLS-1$
}
/**
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MISignal.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MISignal.java
index 709910f09ce..30c91f6d18a 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MISignal.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MISignal.java
@@ -21,7 +21,7 @@ public class MISignal extends CLICommand {
MIOutput out;
public MISignal(String arg) {
- super("signal " + arg);
+ super("signal " + arg); //$NON-NLS-1$
}
/**
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MITargetSelect.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MITargetSelect.java
index 50465eb4079..fe8bce972d5 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MITargetSelect.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MITargetSelect.java
@@ -29,6 +29,6 @@ package org.eclipse.cdt.debug.mi.core.command;
public class MITargetSelect extends MICommand
{
public MITargetSelect(String[] params) {
- super("-target-select", params);
+ super("-target-select", params); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarDelete.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarDelete.java
index 8c206b6a97d..5c052295523 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarDelete.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarDelete.java
@@ -23,7 +23,7 @@ import org.eclipse.cdt.debug.mi.core.output.MIVarDeleteInfo;
public class MIVarDelete extends MICommand
{
public MIVarDelete(String name) {
- super("-var-delete", new String[]{name});
+ super("-var-delete", new String[]{name}); //$NON-NLS-1$
}
public MIVarDeleteInfo getMIVarDeleteInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarSetFormat.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarSetFormat.java
index 0dfda84fc1b..8544c132692 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarSetFormat.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarSetFormat.java
@@ -25,19 +25,19 @@ public class MIVarSetFormat extends MICommand
{
public MIVarSetFormat(String name, int fmt) {
super("-var-set-format"); //$NON-NLS-1$
- String format = "hexadecimal";
+ String format = "hexadecimal"; //$NON-NLS-1$
switch (fmt) {
case MIFormat.NATURAL:
- format = "natural";
+ format = "natural"; //$NON-NLS-1$
break;
case MIFormat.DECIMAL:
- format = "decimal";
+ format = "decimal"; //$NON-NLS-1$
break;
case MIFormat.BINARY:
- format = "binary";
+ format = "binary"; //$NON-NLS-1$
break;
case MIFormat.OCTAL:
- format = "octal";
+ format = "octal"; //$NON-NLS-1$
break;
/*
case MIFormat.HEXADECIMAL:
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarUpdate.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarUpdate.java
index 48daf152ead..7b50d189f74 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarUpdate.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/command/MIVarUpdate.java
@@ -27,7 +27,7 @@ public class MIVarUpdate extends MICommand {
}
public MIVarUpdate(String name) {
- super("-var-update", new String[] { name });
+ super("-var-update", new String[] { name }); //$NON-NLS-1$
}
public MIVarUpdateInfo getMIVarUpdateInfo() throws MIException {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIBreakpointHitEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIBreakpointHitEvent.java
index 5459cdf5452..fbf2de3b4a9 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIBreakpointHitEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIBreakpointHitEvent.java
@@ -42,8 +42,8 @@ public class MIBreakpointHitEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("number=").append(bkptno).append('\n');
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("number=").append(bkptno).append('\n'); //$NON-NLS-1$
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
buffer.append(frame.toString());
return buffer.toString();
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIDetachedEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIDetachedEvent.java
index 4de71c0fce0..d807960c8d8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIDetachedEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIDetachedEvent.java
@@ -18,6 +18,6 @@ public class MIDetachedEvent extends MIDestroyedEvent {
}
public String toString() {
- return "Detached";
+ return "Detached"; //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
index 637dad4b415..42bc3da9682 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
@@ -41,9 +41,9 @@ public class MIFunctionFinishedEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("gdb-result-var=" + gdbResult + "\n"); //$NON-NLS-2$
- buffer.append("return-value=" + returnValue + "\n"); //$NON-NLS-2$
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("gdb-result-var=" + gdbResult + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("return-value=" + returnValue + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
MIFrame f = getFrame();
if (f != null) {
buffer.append(f.toString());
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java
index 08a143641e8..aa107f09962 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIInferiorSignalExitEvent.java
@@ -47,8 +47,8 @@ public class MIInferiorSignalExitEvent extends MIDestroyedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("signal-name=" + sigName + "\n"); //$NON-NLS-2$
- buffer.append("signal-meaning=" + sigMeaning + "\n"); //$NON-NLS-2$
+ buffer.append("signal-name=" + sigName + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("signal-meaning=" + sigMeaning + "\n"); //$NON-NLS-1$//$NON-NLS-2$
return buffer.toString();
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java
index 6e17e59a1d8..33c5355944c 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java
@@ -30,7 +30,7 @@ public class MILocationReachedEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
MIFrame f = getFrame();
if (f != null) {
buffer.append(f.toString());
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIRunningEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIRunningEvent.java
index d5b5167d810..1931bdb8f23 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIRunningEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIRunningEvent.java
@@ -34,6 +34,6 @@ public class MIRunningEvent extends MIEvent {
}
public String toString() {
- return "Running";
+ return "Running"; //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
index 2732697f768..178cb9ef76d 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
@@ -42,9 +42,9 @@ public class MISignalEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("signal-name=" + sigName + "\n");
- buffer.append("signal-meaning=" + sigMeaning + "\n");
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("signal-name=" + sigName + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ buffer.append("signal-meaning=" + sigMeaning + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
MIFrame f = getFrame();
if (f != null) {
buffer.append(f.toString());
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java
index c0d7dcd0bba..c0d3d3dbd75 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java
@@ -31,7 +31,7 @@ public class MISteppingRangeEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
MIFrame f = getFrame();
if (f != null) {
buffer.append(getFrame().toString());
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
index 9495f1c826b..7663f2d0acf 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
@@ -53,11 +53,11 @@ public class MIWatchpointTriggerEvent extends MIStoppedEvent {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("number=").append(number).append('\n');
- buffer.append("expression=" + exp + "\n"); //$NON-NLS-2$
- buffer.append("old=" + oldValue + "\n"); //$NON-NLS-2$
- buffer.append("new=" + newValue + "\n"); //$NON-NLS-2$
- buffer.append("thread-id=").append(getThreadId()).append('\n');
+ buffer.append("number=").append(number).append('\n'); //$NON-NLS-1$
+ buffer.append("expression=" + exp + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("old=" + oldValue + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("new=" + newValue + "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append("thread-id=").append(getThreadId()).append('\n'); //$NON-NLS-1$
MIFrame f = getFrame();
if (f != null) {
buffer.append(f.toString());
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIAsm.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIAsm.java
index dd5f8062b45..80894e6756e 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIAsm.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIAsm.java
@@ -38,10 +38,10 @@ public class MIAsm {
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append('{');
- buffer.append("address=\"" + Long.toHexString(address) +"\""); //$NON-NLS-2$
- buffer.append(",func-name=\"" + function + "\""); //$NON-NLS-2$
- buffer.append(",offset=\"").append(offset).append('"');
- buffer.append(",inst=\"" + getInstruction() + "\""); //$NON-NLS-2$
+ buffer.append("address=\"" + Long.toHexString(address) +"\""); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append(",func-name=\"" + function + "\""); //$NON-NLS-1$//$NON-NLS-2$
+ buffer.append(",offset=\"").append(offset).append('"'); //$NON-NLS-1$
+ buffer.append(",inst=\"" + getInstruction() + "\""); //$NON-NLS-1$//$NON-NLS-2$
buffer.append('}');
return buffer.toString();
}
@@ -57,19 +57,19 @@ public class MIAsm {
str = ((MIConst)value).getCString();
}
- if (var.equals("address")) {
+ if (var.equals("address")) { //$NON-NLS-1$
try {
address = Long.decode(str.trim()).longValue();
} catch (NumberFormatException e) {
}
- } else if (var.equals("func-name")) {
+ } else if (var.equals("func-name")) { //$NON-NLS-1$
function = str;
- } else if (var.equals("offset")) {
+ } else if (var.equals("offset")) { //$NON-NLS-1$
try {
offset = Long.decode(str.trim()).longValue();
} catch (NumberFormatException e) {
}
- } else if (var.equals("inst")) {
+ } else if (var.equals("inst")) { //$NON-NLS-1$
/* for the instruction, we do not want the C string but the
translated string since the only thing we are doing is
displaying it. */
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java
index ca2a3756aab..36c8c5508a6 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java
@@ -81,7 +81,7 @@ public class MIBreakpoint {
}
public boolean isTemporary() {
- return getDisposition().equals("del");
+ return getDisposition().equals("del"); //$NON-NLS-1$
}
public boolean isWatchpoint() {
@@ -219,7 +219,7 @@ public class MIBreakpoint {
} else if (var.equals("disp")) { //$NON-NLS-1$
disp = str;
} else if (var.equals("enabled")) { //$NON-NLS-1$
- enabled = str.equals("y");
+ enabled = str.equals("y"); //$NON-NLS-1$
} else if (var.equals("addr")) { //$NON-NLS-1$
try {
address = Long.decode(str.trim()).longValue();
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIConst.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIConst.java
index 7eabad5f41a..a561f420581 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIConst.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIConst.java
@@ -80,7 +80,7 @@ public class MIConst extends MIValue {
} else if (c == 'f') {
s = "\f"; //$NON-NLS-1$
} else if (c == 'n') {
- s = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ $NON-NLS-2$
+ s = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
} else if (c == 'r') {
s = "\r"; //$NON-NLS-1$
} else if (c == 't') {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIDataDisassembleInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIDataDisassembleInfo.java
index 7cc6426e3f6..8b56e136815 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIDataDisassembleInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIDataDisassembleInfo.java
@@ -37,7 +37,7 @@ public class MIDataDisassembleInfo extends MIInfo {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("asm_insns=[");
+ buffer.append("asm_insns=["); //$NON-NLS-1$
if (isMixed()) {
MISrcAsm[] array = getMISrcAsms();
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIEnvironmentPWDInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIEnvironmentPWDInfo.java
index 4a37acb400c..08c001d48f7 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIEnvironmentPWDInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIEnvironmentPWDInfo.java
@@ -32,8 +32,8 @@ public class MIEnvironmentPWDInfo extends MIInfo {
if (oobs[i] instanceof MIConsoleStreamOutput) {
MIStreamRecord cons = (MIStreamRecord)oobs[i];
String str = cons.getString();
- if (str.startsWith("Working directory")) {
- int len = "Working directory".length();
+ if (str.startsWith("Working directory")) { //$NON-NLS-1$
+ int len = "Working directory".length(); //$NON-NLS-1$
str = str.substring(len).trim();
len = str.indexOf('.');
if (len != -1) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java
index 7f303d7250a..4f9c3c56299 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIGDBShowDirectoriesInfo.java
@@ -35,7 +35,7 @@ public class MIGDBShowDirectoriesInfo extends MIInfo {
if (oobs[i] instanceof MIConsoleStreamOutput) {
MIStreamRecord cons = (MIStreamRecord)oobs[i];
String str = cons.getString();
- if (str.startsWith("Source directories searched:")) {
+ if (str.startsWith("Source directories searched:")) { //$NON-NLS-1$
int j = str.indexOf(':');
if (j != -1) {
String sub = str.substring(j + 1).trim();
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java
index 05b18a89c64..2e88929d26f 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSharedLibraryInfo.java
@@ -91,7 +91,7 @@ public class MIInfoSharedLibraryInfo extends MIInfo {
name = sub;
break;
case 1 :
- if (sub.equalsIgnoreCase("Yes")) {
+ if (sub.equalsIgnoreCase("Yes")) { //$NON-NLS-1$
syms = true;
}
break;
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java
index c169344f26d..74e2adb24f8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIInfoSignalsInfo.java
@@ -60,7 +60,7 @@ public class MIInfoSignalsInfo extends MIInfo {
// Pass the header and th tailer.
// ~"Signal Stop\tPrint\tPass to program\tDescription\n"
// ~"Use the \"handle\" command to change these tables.\n"
- if (!str.startsWith("Signal ") && !str.startsWith("Use ")) {
+ if (!str.startsWith("Signal ") && !str.startsWith("Use ")) { //$NON-NLS-1$ //$NON-NLS-2$
String signal = ""; //$NON-NLS-1$
boolean stop = false;
boolean print = false;
@@ -71,7 +71,7 @@ public class MIInfoSignalsInfo extends MIInfo {
for (int i = 0; tokenizer.hasMoreTokens(); i++) {
String sub = null;
if (i == 4) {
- sub = tokenizer.nextToken("\n");
+ sub = tokenizer.nextToken("\n"); //$NON-NLS-1$
} else {
sub = tokenizer.nextToken();
}
@@ -100,7 +100,7 @@ public class MIInfoSignalsInfo extends MIInfo {
}
static boolean getBoolean(String value) {
- if (value != null && value.equalsIgnoreCase("Yes")) {
+ if (value != null && value.equalsIgnoreCase("Yes")) { //$NON-NLS-1$
return true;
}
return false;
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIPTypeInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIPTypeInfo.java
index a21d91c68e3..affd96aabea 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIPTypeInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIPTypeInfo.java
@@ -32,7 +32,7 @@ public class MIPTypeInfo extends MIInfo {
// We are interested in the shared info
if (str != null) {
str = str.trim();
- if (str.startsWith ("type")) {
+ if (str.startsWith ("type")) { //$NON-NLS-1$
int equal = str.indexOf('=');
if (equal > 0) {
str = str.substring(equal + 1);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIRegisterValue.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIRegisterValue.java
index d061c3df1f8..d4564d3aaa6 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIRegisterValue.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIRegisterValue.java
@@ -31,8 +31,8 @@ public class MIRegisterValue {
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("number=\"").append(number).append('"');
- buffer.append(',').append("value=\"" + value + "\"");
+ buffer.append("number=\"").append(number).append('"'); //$NON-NLS-1$
+ buffer.append(',').append("value=\"" + value + "\""); //$NON-NLS-1$ //$NON-NLS-2$
return buffer.toString();
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIStreamRecord.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIStreamRecord.java
index 395083fe160..e972c43042d 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIStreamRecord.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIStreamRecord.java
@@ -25,12 +25,12 @@ public abstract class MIStreamRecord extends MIOOBRecord {
public String toString() {
if (this instanceof MIConsoleStreamOutput) {
- return "~\"" + cstring + "\"\n"; //$NON-NLS-1$
+ return "~\"" + cstring + "\"\n"; //$NON-NLS-1$ //$NON-NLS-2$
} else if (this instanceof MITargetStreamOutput) {
- return "@\"" + cstring + "\"\n"; //$NON-NLS-1$
+ return "@\"" + cstring + "\"\n"; //$NON-NLS-1$ //$NON-NLS-2$
} else if (this instanceof MILogStreamOutput) {
- return "&\"" + cstring + "\"\n"; //$NON-NLS-1$
+ return "&\"" + cstring + "\"\n"; //$NON-NLS-1$ //$NON-NLS-2$
}
- return "\"" + cstring + "\"\n"; //$NON-NLS-1$
+ return "\"" + cstring + "\"\n"; //$NON-NLS-1$ //$NON-NLS-2$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarShowFormatInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarShowFormatInfo.java
index 050899d43c1..96bae4a813b 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarShowFormatInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarShowFormatInfo.java
@@ -34,15 +34,15 @@ public class MIVarShowFormatInfo extends MIInfo {
MIValue value = results[i].getMIValue();
if (value instanceof MIConst) {
String str = ((MIConst)value).getString();
- if ("binary".equals(str)) {
+ if ("binary".equals(str)) { //$NON-NLS-1$
format = MIFormat.BINARY;
- } else if ("decimal".equals(str)) {
+ } else if ("decimal".equals(str)) { //$NON-NLS-1$
format = MIFormat.DECIMAL;
- } else if ("hexadecimal".equals(str)) {
+ } else if ("hexadecimal".equals(str)) { //$NON-NLS-1$
format = MIFormat.HEXADECIMAL;
- } else if ("octal".equals(str)) {
+ } else if ("octal".equals(str)) { //$NON-NLS-1$
format = MIFormat.OCTAL;
- } else if ("natural".equals(str)) {
+ } else if ("natural".equals(str)) { //$NON-NLS-1$
format = MIFormat.NATURAL;
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIWhatisInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIWhatisInfo.java
index 404100e1252..41b12fbec4b 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIWhatisInfo.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIWhatisInfo.java
@@ -32,7 +32,7 @@ public class MIWhatisInfo extends MIInfo {
// We are interested in the shared info
if (str != null) {
str = str.trim();
- if (str.startsWith ("type")) {
+ if (str.startsWith ("type")) { //$NON-NLS-1$
int equal = str.indexOf('=');
if (equal > 0) {
str = str.substring(equal + 1);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
index c3bca48b164..c006fc6cc8c 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
@@ -55,7 +55,7 @@ public class CLIProcessor {
session.fireEvent(new MIBreakpointChangedEvent(0));
} else if (isSettingSignal(operation)) {
// We do no know which signal let the upper layer find it.
- session.fireEvent(new MISignalChangedEvent(""));
+ session.fireEvent(new MISignalChangedEvent("")); //$NON-NLS-1$
} else if (isDetach(operation)) {
// if it was a "detach" command change the state.
session.getMIInferior().setDisconnected();
@@ -68,27 +68,27 @@ public class CLIProcessor {
int type = -1;
/* execution commands: n, next, s, step, si, stepi, u, until, finish,
c, continue, fg */
- if (operation.equals("n") || operation.equals("next")) {
+ if (operation.equals("n") || operation.equals("next")) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.NEXT;
- } else if (operation.equals("ni") || operation.equals("nexti")) {
+ } else if (operation.equals("ni") || operation.equals("nexti")) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.NEXTI;
- } else if (operation.equals("s") || operation.equals("step")) {
+ } else if (operation.equals("s") || operation.equals("step")) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.STEP;
- } else if (operation.equals("si") || operation.equals("stepi")) {
+ } else if (operation.equals("si") || operation.equals("stepi")) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.STEPI;
- } else if (operation.equals("u") ||
- (operation.startsWith("unt") && "until".indexOf(operation) != -1)) {
+ } else if (operation.equals("u") || //$NON-NLS-1$
+ (operation.startsWith("unt") && "until".indexOf(operation) != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.UNTIL;
- } else if (operation.startsWith("fin") && "finish".indexOf(operation) != -1) {
+ } else if (operation.startsWith("fin") && "finish".indexOf(operation) != -1) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.FINISH;
- } else if (operation.equals("c") || operation.equals("fg") ||
- (operation.startsWith("cont") && "continue".indexOf(operation) != -1)) {
+ } else if (operation.equals("c") || operation.equals("fg") || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("cont") && "continue".indexOf(operation) != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.CONTINUE;
- } else if (operation.startsWith("sig") && "signal".indexOf(operation) != -1) {
+ } else if (operation.startsWith("sig") && "signal".indexOf(operation) != -1) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.CONTINUE;
- } else if (operation.startsWith("j") && "jump".indexOf(operation) != -1) {
+ } else if (operation.startsWith("j") && "jump".indexOf(operation) != -1) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.CONTINUE;
- } else if (operation.equals("r") || operation.equals("run")) {
+ } else if (operation.equals("r") || operation.equals("run")) { //$NON-NLS-1$ //$NON-NLS-2$
type = MIRunningEvent.CONTINUE;
}
return type;
@@ -98,11 +98,11 @@ public class CLIProcessor {
boolean isbreak = false;
/* breakpoints: b, break, hbreak, tbreak, rbreak, thbreak */
/* watchpoints: watch, rwatch, awatch, tbreak, rbreak, thbreak */
- if ((operation.startsWith("b") && "break".indexOf(operation) != -1) ||
- (operation.startsWith("tb") && "tbreak".indexOf(operation) != -1) ||
- (operation.startsWith("hb") && "hbreak".indexOf(operation) != -1) ||
- (operation.startsWith("thb") && "thbreak".indexOf(operation) != -1) ||
- (operation.startsWith("rb") && "rbreak".indexOf(operation) != -1)) {
+ if ((operation.startsWith("b") && "break".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("tb") && "tbreak".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("hb") && "hbreak".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("thb") && "thbreak".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("rb") && "rbreak".indexOf(operation) != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
isbreak = true;
}
return isbreak;
@@ -111,9 +111,9 @@ public class CLIProcessor {
boolean isSettingWatchpoint(String operation) {
boolean isWatch = false;
/* watchpoints: watch, rwatch, awatch, tbreak, rbreak, thbreak */
- if ((operation.startsWith("wa") && "watch".indexOf(operation) != -1) ||
- (operation.startsWith("rw") && "rwatch".indexOf(operation) != -1) ||
- (operation.startsWith("aw") && "awatch".indexOf(operation) != -1)) {
+ if ((operation.startsWith("wa") && "watch".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("rw") && "rwatch".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("aw") && "awatch".indexOf(operation) != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
isWatch = true;
}
return isWatch;
@@ -122,8 +122,8 @@ public class CLIProcessor {
boolean isDeletingBreakpoint(String operation) {
boolean isDelete = false;
/* deleting breaks: clear, delete */
- if ((operation.startsWith("cl") && "clear".indexOf(operation) != -1) ||
- (operation.equals("d") || (operation.startsWith("del") && "delete".indexOf(operation) != -1))) {
+ if ((operation.startsWith("cl") && "clear".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.equals("d") || (operation.startsWith("del") && "delete".indexOf(operation) != -1))) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
isDelete = true;
}
return isDelete;
@@ -132,11 +132,11 @@ public class CLIProcessor {
boolean isChangeBreakpoint(String operation) {
boolean isChange = false;
/* changing breaks: enable, disable */
- if ((operation.equals("dis") || operation.equals("disa") ||
- (operation.startsWith("disa") && "disable".indexOf(operation) != -1)) ||
- (operation.equals("en") || (operation.startsWith("en") && "enable".indexOf(operation) != -1)) ||
- (operation.startsWith("ig") && "ignore".indexOf(operation) != -1) ||
- (operation.startsWith("cond") && "condition".indexOf(operation) != -1)) {
+ if ((operation.equals("dis") || operation.equals("disa") || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("disa") && "disable".indexOf(operation) != -1)) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.equals("en") || (operation.startsWith("en") && "enable".indexOf(operation) != -1)) || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ (operation.startsWith("ig") && "ignore".indexOf(operation) != -1) || //$NON-NLS-1$ //$NON-NLS-2$
+ (operation.startsWith("cond") && "condition".indexOf(operation) != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
isChange = true;
}
return isChange;
@@ -145,7 +145,7 @@ public class CLIProcessor {
boolean isSettingSignal(String operation) {
boolean isChange = false;
/* changing signal: handle, signal */
- if (operation.startsWith("ha") && "handle".indexOf(operation) != -1) {
+ if (operation.startsWith("ha") && "handle".indexOf(operation) != -1) { //$NON-NLS-1$ //$NON-NLS-2$
isChange = true;
}
return isChange;
@@ -156,7 +156,7 @@ public class CLIProcessor {
* @return
*/
boolean isDetach(String operation) {
- return (operation.startsWith("det") && "detach".indexOf(operation) != -1);
+ return (operation.startsWith("det") && "detach".indexOf(operation) != -1); //$NON-NLS-1$ //$NON-NLS-2$
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
index 7a10c7f9dd3..582ebe863c8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
@@ -61,7 +61,7 @@ public class CygwinGDBDebugger extends GDBDebugger {
manager.setSharedLibraryPaths(paths);
}
} catch (CoreException e) {
- throw new CDIException("Error initializing shared library options: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.CygwinGDBDebugger.Error_init_shared_lib_options") + e.getMessage()); //$NON-NLS-1$
}
}
@@ -76,11 +76,11 @@ public class CygwinGDBDebugger extends GDBDebugger {
MISession mi = session.getMISession();
try {
CommandFactory factory = mi.getCommandFactory();
- MIGDBSet set = factory.createMIGDBSet(new String[] { "new-console" });
+ MIGDBSet set = factory.createMIGDBSet(new String[] { "new-console" }); //$NON-NLS-1$
mi.postCommand(set);
MIInfo info = set.getMIInfo();
if (info == null) {
- throw new MIException("No answer");
+ throw new MIException(MIPlugin.getResourceString("src.common.No_answer")); //$NON-NLS-1$
}
} catch (MIException e) {
// We ignore this exception, for example
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/EventThread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/EventThread.java
index 10e88e81b84..9d226828942 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/EventThread.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/EventThread.java
@@ -17,7 +17,7 @@ public class EventThread extends Thread {
MISession session;
public EventThread(MISession s) {
- super("MI Event Thread");
+ super("MI Event Thread"); //$NON-NLS-1$
session = s;
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
index 3bd7630f30c..1e589440c98 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
@@ -56,7 +56,7 @@ public class GDBDebugger implements ICDebugger {
manager.setSharedLibraryPaths(paths);
}
} catch (CoreException e) {
- throw new CDIException("Error initializing shared library options: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_initializing_shared_lib_options") + e.getMessage()); //$NON-NLS-1$
}
}
@@ -64,21 +64,21 @@ public class GDBDebugger implements ICDebugger {
Session session = null;
boolean failed = false;
try {
- String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb");
+ String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb"); //$NON-NLS-1$
File cwd = exe.getProject().getLocation().toFile();
- String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit");
+ String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit"); //$NON-NLS-1$
session = (Session)MIPlugin.getDefault().createCSession(gdb, exe.getLocation().toFile(), cwd, gdbinit);
initializeLibraries(config, session);
return session;
} catch (IOException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (MIException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (CoreException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} finally {
if (failed) {
if (session != null) {
@@ -96,21 +96,21 @@ public class GDBDebugger implements ICDebugger {
Session session = null;
boolean failed = false;
try {
- String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb");
+ String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb"); //$NON-NLS-1$
File cwd = exe.getProject().getLocation().toFile();
- String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit");
+ String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit"); //$NON-NLS-1$
session = (Session)MIPlugin.getDefault().createCSession(gdb, exe.getLocation().toFile(), pid, null, cwd, gdbinit);
initializeLibraries(config, session);
return session;
} catch (IOException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (MIException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (CoreException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} finally {
if (failed) {
if (session != null) {
@@ -128,21 +128,21 @@ public class GDBDebugger implements ICDebugger {
Session session = null;
boolean failed = false;
try {
- String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb");
+ String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb"); //$NON-NLS-1$
File cwd = exe.getProject().getLocation().toFile();
- String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit");
+ String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit"); //$NON-NLS-1$
session = (Session)MIPlugin.getDefault().createCSession(gdb, exe.getLocation().toFile(), corefile.toFile(), cwd, gdbinit);
initializeLibraries(config, session);
return session;
} catch (IOException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (MIException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} catch (CoreException e) {
failed = true;
- throw new CDIException("Error creating session: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBDebugger.Error_creating_session") + e.getMessage()); //$NON-NLS-1$
} finally {
if (failed) {
if (session != null) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
index 826b975b652..aab64c6bcbb 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerDebugger.java
@@ -51,7 +51,7 @@ public class GDBServerDebugger implements ICDebugger {
mgr.setSharedLibraryPaths(paths);
}
} catch (CoreException e) {
- throw new CDIException("Error initializing: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.Error_initializing") + e.getMessage()); //$NON-NLS-1$
}
}
@@ -59,12 +59,12 @@ public class GDBServerDebugger implements ICDebugger {
Session session = null;
boolean failed = false;
try {
- String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb");
+ String gdb = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, "gdb"); //$NON-NLS-1$
File cwd = exe.getProject().getLocation().toFile();
- String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit");
+ String gdbinit = config.getAttribute(IMILaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit"); //$NON-NLS-1$
if (config.getAttribute(IGDBServerMILaunchConfigurationConstants.ATTR_REMOTE_TCP, false)) {
String remote = config.getAttribute(IGDBServerMILaunchConfigurationConstants.ATTR_HOST, "invalid");
- remote += ":";
+ remote += ":"; //$NON-NLS-1$
remote += config.getAttribute(IGDBServerMILaunchConfigurationConstants.ATTR_PORT, "invalid");
String[] args = new String[] {"remote", remote};
session = (Session)MIPlugin.getDefault().createCSession(gdb, exe.getLocation().toFile(), 0, args, cwd, gdbinit);
@@ -78,31 +78,31 @@ public class GDBServerDebugger implements ICDebugger {
session = (Session)MIPlugin.getDefault().createCSession(gdb, exe.getLocation().toFile(), -1, null, cwd, gdbinit);
MISession miSession = session.getMISession();
CommandFactory factory = miSession.getCommandFactory();
- MIGDBSet setRemoteBaud = factory.createMIGDBSet(new String[]{"remotebaud", remoteBaud});
+ MIGDBSet setRemoteBaud = factory.createMIGDBSet(new String[]{"remotebaud", remoteBaud}); //$NON-NLS-1$
// Set serial line parameters
miSession.postCommand(setRemoteBaud, launchTimeout);
MIInfo info = setRemoteBaud.getMIInfo();
if (info == null) {
- throw new MIException ("Can not set Baud");
+ throw new MIException (MIPlugin.getResourceString("src.GDBServerDebugger.Can_not_set_Baud")); //$NON-NLS-1$
}
MITargetSelect select = factory.createMITargetSelect(new String[] {"remote", remote});
miSession.postCommand(select, launchTimeout);
select.getMIInfo();
if (info == null) {
- throw new MIException ("No answer");
+ throw new MIException (MIPlugin.getResourceString("src.common.No_answer")); //$NON-NLS-1$
}
}
initializeLibraries(config, session);
return session;
} catch (IOException e) {
failed = true;
- throw new CDIException("Error initializing: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.Error_initializing") + e.getMessage()); //$NON-NLS-1$
} catch (MIException e) {
failed = true;
- throw new CDIException("Error initializing: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.Error_initializing") + e.getMessage()); //$NON-NLS-1$
} catch (CoreException e) {
failed = true;
- throw new CDIException("Error initializing: " + e.getMessage());
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.Error_initializing") + e.getMessage()); //$NON-NLS-1$
} finally {
if (failed) {
if (session != null) {
@@ -117,10 +117,10 @@ public class GDBServerDebugger implements ICDebugger {
}
public ICDISession createAttachSession(ILaunchConfiguration config, IFile exe, int pid) throws CDIException {
- throw new CDIException("GDBServer does not support attaching");
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.GDBServer_attaching_unsupported")); //$NON-NLS-1$
}
public ICDISession createCoreSession(ILaunchConfiguration config, IFile exe, IPath corefile) throws CDIException {
- throw new CDIException("GDBServer does not support core files");
+ throw new CDIException(MIPlugin.getResourceString("src.GDBServerDebugger.GDBServer_corefiles_unsupported")); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
index aeee5419509..bc5ac407eff 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
@@ -58,14 +58,14 @@ public class GDBTypeParser {
// Initialize.
line = s;
index = 0;
- token = "";
- dataType = "";
- name = "";
+ token = ""; //$NON-NLS-1$
+ dataType = ""; //$NON-NLS-1$
+ name = ""; //$NON-NLS-1$
gdbDerivedType = null;
// Fetch the datatype.
while (getToken() == NAME) {
- dataType += " " + token;
+ dataType += " " + token; //$NON-NLS-1$
}
// Hack for GDB, the typename can be something like
@@ -97,7 +97,7 @@ public class GDBTypeParser {
}
public GDBType(int t) {
- this("", t);
+ this("", t); //$NON-NLS-1$
}
GDBType(String n, int t) {
@@ -151,23 +151,23 @@ public class GDBTypeParser {
public String toString() {
StringBuffer sb = new StringBuffer();
- String childTypeName = (hasChild() ? child.toString() : "");
+ String childTypeName = (hasChild() ? child.toString() : ""); //$NON-NLS-1$
sb.append(childTypeName);
switch (getType()) {
case FUNCTION :
- sb.append("()");
+ sb.append("()"); //$NON-NLS-1$
//sb.append(" function returning " + (hasChild() ? child.toString() : ""));
break;
case ARRAY :
- sb.append("[" + dimension + "]");
+ sb.append("[" + dimension + "]"); //$NON-NLS-1$ //$NON-NLS-2$
//sb.append(" array[" + dimension + "]" + " of " + (hasChild() ? child.toString() : ""));
break;
case REFERENCE :
- sb.append("&");
+ sb.append("&"); //$NON-NLS-1$
//sb.append(" reference to " + (hasChild() ? child.toString() : ""));
break;
case POINTER :
- sb.append("*");
+ sb.append("*"); //$NON-NLS-1$
//sb.append(" pointer to " + (hasChild() ? child.toString() : ""));
break;
}
@@ -178,16 +178,16 @@ public class GDBTypeParser {
StringBuffer sb = new StringBuffer();
switch (getType()) {
case FUNCTION :
- sb.append(" function returning " + (hasChild() ? child.verbose() : ""));
+ sb.append(" function returning " + (hasChild() ? child.verbose() : "")); //$NON-NLS-2$
break;
case ARRAY :
- sb.append(" array[" + dimension + "]" + " of " + (hasChild() ? child.verbose() : ""));
+ sb.append(" array[" + dimension + "]" + " of " + (hasChild() ? child.verbose() : "")); //$NON-NLS-2$ //$NON-NLS-4$
break;
case REFERENCE :
- sb.append(" reference to " + (hasChild() ? child.verbose() : ""));
+ sb.append(" reference to " + (hasChild() ? child.verbose() : "")); //$NON-NLS-2$
break;
case POINTER :
- sb.append(" pointer to " + (hasChild() ? child.verbose() : ""));
+ sb.append(" pointer to " + (hasChild() ? child.verbose() : "")); //$NON-NLS-2$
break;
}
return sb.toString();
@@ -247,7 +247,7 @@ public class GDBTypeParser {
// method returns the next token
int getToken() {
- token = "";
+ token = ""; //$NON-NLS-1$
int c = getch();
@@ -260,7 +260,7 @@ public class GDBTypeParser {
if (c == '(') {
if ((c = getch()) == ')') {
- token = "()";
+ token = "()"; //$NON-NLS-1$
tokenType = PARENS;
} else {
ungetch();
@@ -272,7 +272,7 @@ public class GDBTypeParser {
}
tokenType = BRACKETS;
} else if (isCIdentifierStart(c)) {
- token = "" + (char) c;
+ token = "" + (char) c; //$NON-NLS-1$
while (isCIdentifierPart((c = getch())) && c != EOF) {
token += (char) c;
}
@@ -336,7 +336,7 @@ public class GDBTypeParser {
}
} else if (tokenType == NAME) {
// Useless we do not need the name of the variable
- name = " " + token;
+ name = " " + token; //$NON-NLS-1$
} else if (tokenType == PARENS) {
prependChild(GDBType.FUNCTION);
} else if (tokenType == BRACKETS) {
@@ -376,40 +376,40 @@ public class GDBTypeParser {
GDBTypeParser parser = new GDBTypeParser();
- System.out.println("struct link { int i; int j; struct link * next} *");
- parser.parse("struct link { int i; int j; struct link * next} *");
+ System.out.println("struct link { int i; int j; struct link * next} *"); //$NON-NLS-1$
+ parser.parse("struct link { int i; int j; struct link * next} *"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("char **argv");
- parser.parse("unsigned long long int **argv");
+ System.out.println("char **argv"); //$NON-NLS-1$
+ parser.parse("unsigned long long int **argv"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("int (*daytab)[13]");
- parser.parse("int (*daytab)[13]");
+ System.out.println("int (*daytab)[13]"); //$NON-NLS-1$
+ parser.parse("int (*daytab)[13]"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("int *daytab[13]");
- parser.parse("int *daytab[13]");
+ System.out.println("int *daytab[13]"); //$NON-NLS-1$
+ parser.parse("int *daytab[13]"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("void *comp()");
- parser.parse("void *comp()");
+ System.out.println("void *comp()"); //$NON-NLS-1$
+ parser.parse("void *comp()"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("void (*comp)()");
- parser.parse("void (*comp)()");
+ System.out.println("void (*comp)()"); //$NON-NLS-1$
+ parser.parse("void (*comp)()"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("int (*func[15])()");
- parser.parse("int (*func[15])()");
+ System.out.println("int (*func[15])()"); //$NON-NLS-1$
+ parser.parse("int (*func[15])()"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("char (*(*x())[])()");
- parser.parse("char (*(*x())[])()");
+ System.out.println("char (*(*x())[])()"); //$NON-NLS-1$
+ parser.parse("char (*(*x())[])()"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
- System.out.println("char (*(*x[3])())[5]");
- parser.parse("char (*(*x[3])())[5]");
+ System.out.println("char (*(*x[3])())[5]"); //$NON-NLS-1$
+ parser.parse("char (*(*x[3])())[5]"); //$NON-NLS-1$
System.out.println(parser.getGDBType().verbose());
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIException.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIException.java
index 8a4557b4944..a96df59e7c5 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIException.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIException.java
@@ -12,7 +12,7 @@ package org.eclipse.cdt.debug.mi.core;
*
*/
public class MIException extends Exception {
- String log = "";
+ String log = ""; //$NON-NLS-1$
public MIException(String s) {
super(s);
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIInferior.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIInferior.java
index 6dc56e5ad36..34d2b84edf8 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIInferior.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIInferior.java
@@ -66,11 +66,11 @@ public class MIInferior extends Process {
StringBuffer buf = new StringBuffer();
public void write(int b) throws IOException {
if (!isRunning()) {
- throw new IOException("target is suspended");
+ throw new IOException(MIPlugin.getResourceString("src.MIInferior.target_is_suspended")); //$NON-NLS-1$
}
OutputStream channel = session.getChannelOutputStream();
if (channel == null) {
- throw new IOException("No MI Session");
+ throw new IOException(MIPlugin.getResourceString("src.MIInferior.No_session")); //$NON-NLS-1$
}
channel.write(b);
}
@@ -214,7 +214,7 @@ public class MIInferior extends Process {
// If we've failed throw an exception up.
if (state == RUNNING) {
- throw new MIException("Failed to interrupt");
+ throw new MIException(MIPlugin.getResourceString("src.MIInferior.Failed_to_interrupt")); //$NON-NLS-1$
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
index e7290437d50..586d6812c9f 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
@@ -12,6 +12,8 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
import org.eclipse.cdt.debug.core.cdi.ICDISession;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
@@ -42,11 +44,19 @@ public class MIPlugin extends Plugin {
private static MIPlugin plugin;
// GDB init command file
- private static final String GDBINIT = ".gdbinit";
+ private static final String GDBINIT = ".gdbinit"; //$NON-NLS-1$
// GDB command
- private static final String GDB = "gdb";
+ private static final String GDB = "gdb"; //$NON-NLS-1$
+ private static ResourceBundle fgResourceBundle;
+ static {
+ try {
+ fgResourceBundle = ResourceBundle.getBundle("org.eclipse.cdt.debug.mi.core.MIPluginResources"); //$NON-NLS-1$
+ } catch (MissingResourceException x) {
+ fgResourceBundle = null;
+ }
+ }
/**
* The constructor
* @see org.eclipse.core.runtime.Plugin#Plugin(IPluginDescriptor)
@@ -153,15 +163,15 @@ public class MIPlugin extends Plugin {
String[] args;
if (pty != null) {
if (program == null) {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-tty", pty.getSlaveName(), "-i", "mi1"};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-tty", pty.getSlaveName(), "-i", "mi1"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
} else {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-tty", pty.getSlaveName(), "-i", "mi1", program.getAbsolutePath()};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-tty", pty.getSlaveName(), "-i", "mi1", program.getAbsolutePath()}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
}
} else {
if (program == null) {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-i", "mi1"};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-i", "mi1"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
} else {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-i", "mi1", program.getAbsolutePath()};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "-q", "-nw", "-i", "mi1", program.getAbsolutePath()}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
}
}
@@ -177,12 +187,12 @@ public class MIPlugin extends Plugin {
// Try to detect if we have been attach via "target remote localhost:port"
// and set the state to be suspended.
try {
- CLICommand cmd = new CLICommand("info remote-process");
+ CLICommand cmd = new CLICommand("info remote-process"); //$NON-NLS-1$
session.postCommand(cmd);
MIInfo info = cmd.getMIInfo();
if (info == null) {
pgdb.destroy();
- throw new MIException("No answer");
+ throw new MIException(getResourceString("src.common.No_answer")); //$NON-NLS-1$
}
//@@@ We have to manually set the suspended state when we attach
session.getMIInferior().setSuspended();
@@ -212,9 +222,9 @@ public class MIPlugin extends Plugin {
String[] args;
if (program == null) {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", "-c", core.getAbsolutePath()};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", "-c", core.getAbsolutePath()}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
} else {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", "-c", core.getAbsolutePath(), program.getAbsolutePath()};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", "-c", core.getAbsolutePath(), program.getAbsolutePath()}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
}
Process pgdb = getGDBProcess(args);
MISession session;
@@ -245,9 +255,9 @@ public class MIPlugin extends Plugin {
String[] args;
if (program == null) {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1"};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
} else {
- args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", program.getAbsolutePath()};
+ args = new String[] {gdb, "--cd="+cwd.getAbsolutePath(), "--command="+gdbinit, "--quiet", "-nw", "-i", "mi1", program.getAbsolutePath()}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
}
Process pgdb = getGDBProcess(args);
MISession session;
@@ -264,7 +274,7 @@ public class MIPlugin extends Plugin {
session.postCommand(target);
MIInfo info = target.getMIInfo();
if (info == null) {
- throw new MIException("No answer");
+ throw new MIException(getResourceString("src.common.No_answer")); //$NON-NLS-1$
}
}
if (pid > 0) {
@@ -272,7 +282,7 @@ public class MIPlugin extends Plugin {
session.postCommand(attach);
MIInfo info = attach.getMIInfo();
if (info == null) {
- throw new MIException("No answer");
+ throw new MIException(getResourceString("src.common.No_answer")); //$NON-NLS-1$
}
session.getMIInferior().setInferiorPID(pid);
}
@@ -302,7 +312,7 @@ public class MIPlugin extends Plugin {
public void debugLog(String message) {
if (getDefault().isDebugging()) {
// Time stamp
- message = MessageFormat.format( "[{0}] {1}", new Object[] { new Long( System.currentTimeMillis() ), message } );
+ message = MessageFormat.format( "[{0}] {1}", new Object[] { new Long( System.currentTimeMillis() ), message } ); //$NON-NLS-1$
// This is to verbose for a log file, better use the console.
// getDefault().getLog().log(StatusUtil.newStatus(Status.ERROR, message, null));
// ALERT:FIXME: For example for big buffers say 4k length,
@@ -312,16 +322,24 @@ public class MIPlugin extends Plugin {
while (message.length() > 100) {
String partial = message.substring(0, 100);
message = message.substring(100);
- System.err.println(partial + "\\");
+ System.err.println(partial + "\\"); //$NON-NLS-1$
}
- if (message.endsWith("\n")) {
+ if (message.endsWith("\n")) { //$NON-NLS-1$
System.err.print(message);
} else {
System.err.println(message);
}
}
}
-
+ public static String getResourceString(String key) {
+ try {
+ return fgResourceBundle.getString(key);
+ } catch (MissingResourceException e) {
+ return '!' + key + '!';
+ } catch (NullPointerException e) {
+ return '#' + key + '#';
+ }
+ }
/**
* Do some basic synchronisation, gdb may take some time to load
* for whatever reasons.
@@ -341,7 +359,7 @@ public class MIPlugin extends Plugin {
getDefault().debugLog( sb.toString() );
}
final Process pgdb = ProcessFactory.getFactory().exec(args);
- Thread syncStartup = new Thread("GDB Start") {
+ Thread syncStartup = new Thread("GDB Start") { //$NON-NLS-1$
public void run() {
try {
String line;
@@ -351,7 +369,7 @@ public class MIPlugin extends Plugin {
while ((line = reader.readLine()) != null) {
line = line.trim();
//System.out.println("GDB " + line);
- if (line.endsWith("(gdb)")) {
+ if (line.endsWith("(gdb)")) { //$NON-NLS-1$
break;
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPluginResources.properties b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPluginResources.properties
new file mode 100644
index 00000000000..4dd9eaebee0
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPluginResources.properties
@@ -0,0 +1,7 @@
+src.common.No_answer=No answer
+src.GDBServerDebugger.Error_initializing=Error initializing:
+src.GDBServerDebugger.Can_not_set_Baud=Can not set Baud
+src.GDBServerDebugger.GDBServer_attaching_unsupported=GDBServer does not support attaching
+src.GDBServerDebugger.GDBServer_corefiles_unsupported=GDBServer does not support core files
+src.GDBDebugger.Error_initializing_shared_lib_options=Error initializing shared library options:
+src.GDBDebugger.Error_creating_session=Error creating session:
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MISession.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MISession.java
index 74db4e4c33e..9ba5a9660d9 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MISession.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MISession.java
@@ -119,7 +119,7 @@ public class MISession extends Observable {
// the reader may throw a NPE.
}
if (line == null) {
- line = "Process Terminated";
+ line = MIPlugin.getResourceString("src.MISession.Process_Terminated"); //$NON-NLS-1$
}
throw new MIException(line);
} catch (IllegalThreadStateException e) {
@@ -138,15 +138,15 @@ public class MISession extends Observable {
// Like confirmation and screen size.
try {
- MIGDBSet confirm = new MIGDBSet(new String[]{"confirm", "off"});
+ MIGDBSet confirm = new MIGDBSet(new String[]{"confirm", "off"}); //$NON-NLS-1$ //$NON-NLS-2$
postCommand(confirm, launchTimeout);
confirm.getMIInfo();
- MIGDBSet width = new MIGDBSet(new String[]{"width", "0"});
+ MIGDBSet width = new MIGDBSet(new String[]{"width", "0"}); //$NON-NLS-1$ //$NON-NLS-2$
postCommand(width, launchTimeout);
confirm.getMIInfo();
- MIGDBSet height = new MIGDBSet(new String[]{"height", "0"});
+ MIGDBSet height = new MIGDBSet(new String[]{"height", "0"}); //$NON-NLS-1$ //$NON-NLS-2$
postCommand(height, launchTimeout);
confirm.getMIInfo();
@@ -291,7 +291,7 @@ public class MISession extends Observable {
// Test if we are in a sane state.
if (!txThread.isAlive() || !rxThread.isAlive()) {
- throw new MIException("{R,T}xThread terminated");
+ throw new MIException(MIPlugin.getResourceString("src.MISession.Thread_Terminated")); //$NON-NLS-1$
}
// Test if we are in the right state?
@@ -299,12 +299,12 @@ public class MISession extends Observable {
// REMINDER: if we support -exec-interrupt
// Let it throught:
if (!(cmd instanceof MIExecInterrupt)) {
- throw new MIException("Target is not suspended");
+ throw new MIException(MIPlugin.getResourceString("src.MISession.Target_not_suspended")); //$NON-NLS-1$
}
}
if (isTerminated()) {
- throw new MIException("Session terminated");
+ throw new MIException(MIPlugin.getResourceString("src.MISession.Session_terminated")); //$NON-NLS-1$
}
// TRACING: print the command;
@@ -320,7 +320,7 @@ public class MISession extends Observable {
try {
cmd.wait(timeout);
if (cmd.getMIOutput() == null) {
- throw new MIException("Target is not responding (timed out)");
+ throw new MIException(MIPlugin.getResourceString("src.MISession.Target_not_responding")); //$NON-NLS-1$
}
} catch (InterruptedException e) {
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java
index 93bac3fb00f..9f6c4ac480a 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java
@@ -58,7 +58,7 @@ public class RxThread extends Thread {
List oobList;
public RxThread(MISession s) {
- super("MI RX Thread");
+ super("MI RX Thread"); //$NON-NLS-1$
session = s;
oobList = new ArrayList();
}
@@ -74,7 +74,7 @@ public class RxThread extends Thread {
while ((line = reader.readLine()) != null) {
// TRACING: print the output.
MIPlugin.getDefault().debugLog(line);
- processMIOutput(line + "\n");
+ processMIOutput(line + "\n"); //$NON-NLS-1$
}
} catch (IOException e) {
//e.printStackTrace();
@@ -91,7 +91,7 @@ public class RxThread extends Thread {
session.terminate();
}
};
- Thread clean = new Thread(cleanup, "GDB Died");
+ Thread clean = new Thread(cleanup, "GDB Died"); //$NON-NLS-1$
clean.setDaemon(true);
clean.start();
}
@@ -132,7 +132,7 @@ public class RxThread extends Thread {
// Check if the state changed.
String state = rr.getResultClass();
- if ("running".equals(state)) {
+ if ("running".equals(state)) { //$NON-NLS-1$
int type = 0;
// Check the type of command
// if it was a step instruction set state stepping
@@ -158,12 +158,12 @@ public class RxThread extends Thread {
session.getMIInferior().setRunning();
MIEvent event = new MIRunningEvent(id, type);
session.fireEvent(event);
- } else if ("exit".equals(state)) {
+ } else if ("exit".equals(state)) { //$NON-NLS-1$
// No need to do anything, terminate() will.
session.getMIInferior().setTerminated();
- } else if ("connected".equals(state)) {
+ } else if ("connected".equals(state)) { //$NON-NLS-1$
session.getMIInferior().setConnected();
- } else if ("error".equals(state)) {
+ } else if ("error".equals(state)) { //$NON-NLS-1$
if (session.getMIInferior().isRunning()) {
session.getMIInferior().setSuspended();
MIEvent event = new MIErrorEvent(rr, oobRecords);
@@ -216,13 +216,13 @@ public class RxThread extends Thread {
MIExecAsyncOutput exec = (MIExecAsyncOutput) async;
// Change of state.
String state = exec.getAsyncClass();
- if ("stopped".equals(state)) {
+ if ("stopped".equals(state)) { //$NON-NLS-1$
MIEvent e = null;
MIResult[] results = exec.getMIResults();
for (int i = 0; i < results.length; i++) {
String var = results[i].getVariable();
MIValue val = results[i].getMIValue();
- if (var.equals("reason")) {
+ if (var.equals("reason")) { //$NON-NLS-1$
if (val instanceof MIConst) {
String reason = ((MIConst) val).getString();
e = createEvent(reason, exec);
@@ -323,7 +323,7 @@ public class RxThread extends Thread {
MIResult[] results = rr.getMIResults();
for (int i = 0; i < results.length; i++) {
String var = results[i].getVariable();
- if (var.equals("reason")) {
+ if (var.equals("reason")) { //$NON-NLS-1$
MIValue value = results[i].getMIValue();
if (value instanceof MIConst) {
String reason = ((MIConst) value).getString();
@@ -346,7 +346,7 @@ public class RxThread extends Thread {
MIEvent createEvent(String reason, MIResultRecord rr, MIExecAsyncOutput exec) {
MIEvent event = null;
- if ("breakpoint-hit".equals(reason)) {
+ if ("breakpoint-hit".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MIBreakpointHitEvent(exec);
} else if (rr != null) {
@@ -354,58 +354,58 @@ public class RxThread extends Thread {
}
session.getMIInferior().setSuspended();
} else if (
- "watchpoint-trigger".equals(reason)
- || "read-watchpoint-trigger".equals(reason)
- || "access-watchpoint-trigger".equals(reason)) {
+ "watchpoint-trigger".equals(reason) //$NON-NLS-1$
+ || "read-watchpoint-trigger".equals(reason) //$NON-NLS-1$
+ || "access-watchpoint-trigger".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MIWatchpointTriggerEvent(exec);
} else if (rr != null) {
event = new MIWatchpointTriggerEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("watchpoint-scope".equals(reason)) {
+ } else if ("watchpoint-scope".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MIWatchpointScopeEvent(exec);
} else if (rr != null) {
event = new MIWatchpointScopeEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("end-stepping-range".equals(reason)) {
+ } else if ("end-stepping-range".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MISteppingRangeEvent(exec);
} else if (rr != null) {
event = new MISteppingRangeEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("signal-received".equals(reason)) {
+ } else if ("signal-received".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MISignalEvent(exec);
} else if (rr != null) {
event = new MISignalEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("location-reached".equals(reason)) {
+ } else if ("location-reached".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MILocationReachedEvent(exec);
} else if (rr != null) {
event = new MILocationReachedEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("function-finished".equals(reason)) {
+ } else if ("function-finished".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MIFunctionFinishedEvent(exec);
} else if (rr != null) {
event = new MIFunctionFinishedEvent(rr);
}
session.getMIInferior().setSuspended();
- } else if ("exited-normally".equals(reason) || "exited".equals(reason)) {
+ } else if ("exited-normally".equals(reason) || "exited".equals(reason)) { //$NON-NLS-1$ //$NON-NLS-2$
if (exec != null) {
event = new MIInferiorExitEvent(exec);
} else if (rr != null) {
event = new MIInferiorExitEvent(rr);
}
session.getMIInferior().setTerminated();
- } else if ("exited-signalled".equals(reason)) {
+ } else if ("exited-signalled".equals(reason)) { //$NON-NLS-1$
if (exec != null) {
event = new MIInferiorSignalExitEvent(exec);
} else if (rr != null) {
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/TxThread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/TxThread.java
index 97a4beb776d..15406bf6678 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/TxThread.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/TxThread.java
@@ -21,7 +21,7 @@ public class TxThread extends Thread {
CLIProcessor cli;
public TxThread(MISession s) {
- super("MI TX Thread");
+ super("MI TX Thread"); //$NON-NLS-1$
session = s;
cli = new CLIProcessor(session);
}

Back to the top