In retargetting CDT’s debugger to
work with my employer’s chip architecture, we’ve experienced some recurring
problems with timeout exceptions originating from the “postCommand0” method in
“org.eclipse.cdt.debug.mi.core.MISession”. I’m writing for some general
advice...
We’re currently using CDT
3.1.2. Have there been changes in this area that are available in 4.0
?
Also: This problem typically
hits us when a user runs their application on our simulator, rather than our
hardware. The simulator is a Linux-based program which supports remote
connections from GDB. We’ve found in the past that simply increasing the
timeout limit helps. But then someone encounters a timeout again and we
scratch our heads and wonder whether to increase the timeout again (it’s 20
seconds now...), or whether we should make some other change. For
instance, we’re considering overriding “postCommand0” in our own sub-class so
that - before throwing the timeout MIException - the method displays a dialog to
the user, informing the user of the lack of response from GDB, and asking the
user whether he/she wants to keep waiting or
not.
Does that seem like the right
approach? If so, should it be rolled into the mainline CDT
code-base? If it’s not a good idea, anyone have any other
suggestions?
Although increasing the timeout has
helped make this a relatively rare problem, it is frustrating because the cause
of the slow GDB response is a mystery... Maybe I’m missing
something?
Thanks in
advance,
Rich
Rich
Wagner, Senior Software Development
Engineer
Tilera
Corporation
1900 West Park Drive,
Suite
290
Westborough, MA 01581