I got a feedback that the error message when passing an unsupported
version should be more helpful.
Change-Id: I3c925c500d6de787ca9bfce421eda6109e9f6415
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
MIMemoryTest.writeCharVarying{Address,Offset}
When we switched SyncUtil.readMemory to use queries, it exposed a race
condition with the asserts that check for the number of event received.
Basically, nothing guarantees that when the assert is evaluated the
event had the time to arrive.
We now use a ServiceEventWaitor to wait until the event arrives (with a
timeout, of course).
At the same time, rename word_size to wordSize.
Change-Id: I6f4b51e22f46625e20bbbdbac91cf70cfd864e5e
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
As it is now, if you pass a start address but no end address (null), the
disassembled range will be [startAddress, $pc + 100], which does not
quite make sense.
I think the intention was to have the default end address be whatever
the start address is, + 100.
Change-Id: I1399cc116ecde6cfbdb2f1ec54a181e64a7f4c5f
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reduce function complexity and comply with java coding styles.
Convert some larger ifs to switches for performance sake.
Change-Id: Ief2672141511a1373cdd8a98e0fa2eeb564816e1
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
There is a superfluous LINE_MAIN_BEFORE_THREAD_START that is causing
problems, remove it.
Change-Id: I57c4637ada0b5efda2848029e5216a13cf638067
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
This permits derived classes to reimplement the logic for getting
expression value without copy-pasting the logic for getting type.
Change-Id: I21b048afaee8433d17e873b7aaf4f7b118edd107
This makes it easier to change arguments for all tests. As a side-effect,
all tests now enable assertion (-ea) and have the same max heap size, etc.
Change-Id: I0965d40ba3283efe7eacdf927f6c302ee0ab30f0
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
- added more comments and fixed copyright
- changed one the functions in cache class from private to public
- changed request for stack frames to request for stack depths in
getFrames fallback
- removed an extra private function which is not used anymore
Change-Id: I405e0ad61c6f9bf00bdccd041c0897f423f0b947
Re-using the waitor between tests possibly a dependency between tests
(e.g. on the order they are ran). It would be easy to forget to add an
fWait.waitReset() to a test and break another test.
It is safer to create a new one every time, while the performance hit is
negligible.
Change-Id: I404d240b29dddffb07899e7e529e7205282bd1d2
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
- Implemented cache for stack trace (replaces original stack depth
cache with a cache of frames and depth)
- This is mostly done to mitigate bugs in gdb but it will also help
speed up the debugger since the mi cache doesn't cache commands with
different limits and does not know that if we requested frames already
we don't need to ask about stack depth anymore
- In case of unrecoverable errors I will also return some constant
depth like 5, later the front end will ask to fill it up and in many
cases gdb will be happy to do that, even if it failed to report the
proper depth in the first place. We originally just returned 1 but it is
really not enough for most of the cases. This will result in potential
white gaps at the end of trace, but it is better then showing just the
first frame when we have errors
Change-Id: I24b42fd7ffea082e8064a9c5348fd95c5f7777be
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
Unlike those in AsyncCompletionWaitor, these functions are based on
queries. The patch also changes occurences in MIMemoryTest where it
makes sense to use synchronous functions.
Change-Id: Id5e47b7634153d916bf896e47f6cc48f1a4727bd
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
- one case where debugger fails to return stack depth, but returns
correct stack frames
- second case where debugger fails to return stack frames when asked
without limit, but can return a specific frame
Both of these are workaround for GDB bugs where it fails to return data
consistently
Change-Id: I4fb0d4e850fbce6adc655849ec3f73c85adb1bdc
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
Factor out the code for testSettingVariableWithSet and
testSettingVariableWithPrint.
testSettingVariableWithSetWithMemory is not exactly the same, so I
didn't factor it out.
Change-Id: Ib4e79eda4851ec2291fcf32054694b76e40c65ca
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Added a popup menu in expressions menu to add locals group
and registers group - for discoverability of this feature.
The menus are added to generic dsf but the command handlers
added to the gdb plugin, just in case somebody wants to implement
this for another dsf based debugger
Change-Id: Iab64e2a9f3a0c81f8bac939a2a5e94c67ef1daba
- switched default ui from actions to commands
- for DSF implemented this in DSF GDB
- for CDI implemented command wrappers
- created new API to support loading symbols in IModules service
(IModules2)
Change-Id: Id44f42fa9f0f3d7f22ff7dda07c0830262667d9c
Catching the exception and asserting false just hides the real reason,
making failures harder to debug.
Change-Id: I1a73fb5893da2762d0b9a9a496749643471f75b4
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/39787
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
runToLine uses gdb's -exec-until, which has a very strange and
unpredictable behaviour. It is safer to use runToLocation, which uses a
temporary breakpoint + continue.
Change-Id: If7bbbdd12570b50f38eb92f1748d10dff96f1f45
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/39769
Tested-by: Hudson CI
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>