[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-debug-dev] How to input a string as arg of MI command?
|
Thanks alot.
But the approach to wrap the code in a runnable does not work.
The same error occurred when PlatformUI.getWorkbench(); was called.
Unhandled exception caught in event loop.
Reason:
org/eclipse/ui/PlatformUI
btw, I did not find the method getDisplay() in IWorkbench.
I know Mikhail's approach is much better. But in my case, the parameter will
change frequently. If it is set in the "Debugger" page of the launch
configuration dialog, users have to launch a new debugger session and modify
the configuration when they want to change the parameter. That's rather
complicated.
So, I need a simple and direct way to send parameters to one debugger
session.
> >
> > You should use the "org.eclipse.cdt.debug.core.CDebugger" extension
point to
> > provide your own implementation of "exec-run".
> > Openning an input dialog is not a good idea.
>
> To elaborate, Eclipse has a strong separation between Core vs UI.
> The MI plugin including any of the *.core plugins may not be run within
the context
> of the UI thread. So to do what you want, you need to wrap the code
> in a runnable, something like:
>
> Runnable uiTask = new Runnable() {
> // some code.
> // InputDialog dialog = new InputDialog(shell, "Label Dialog:", "Enter
> ..
> }
> PlatformUI.getWorkbench().getDisplay().asynExec(uiTask);
>
> If not you will have funky errors like:
> "Illegal access to SWT..."
> NPE
> etc ...
>
> But ... it's not the good approach 8-), see mikhail's comments below
> on a better approach.
>
> > If you need to pass additional
> > parameters to your debug session you should use the launch configuration
> > dialog. CDT provides the "org.eclipse.cdt.debug.ui.CDebuggerPage"
extension
> > point that allows users to customize the "Debugger" page of the launch
> > configuration dialog.
> >
> > ----- Original Message -----
> > From: "Felix Yuan" <bigbrain_cn@xxxxxxx>
> > To: <cdt-debug-dev@xxxxxxxxxxx>
> > Sent: Tuesday, March 23, 2004 8:13 AM
> > Subject: [cdt-debug-dev] How to input a string as arg of MI command?
> >
> >
> > > Hi,
> > >
> > > The MI interface of My debugger is similar to the one of gdb, so I can
use
> > > my debugger to replace gdb.
> > >
> > > But there are something different. One is that my -exec-run has a
> > argument.
> > > So I want to use an InputDialog to get a string from user. I noticed
that
> > > when Target.restart() was called, a MIExecRun was created and posted
to
> > > MISession. I inserted some code to get a string via an InputDialog
before
> > > the command was created.
> > > The source is:
> > >
> > > try {
> > > Shell shell = new Shell();
> > > InputDialog dialog = new InputDialog(shell, "Label Dialog:",
"Enter
> > the
> > > Label to start", null, null);
> > > dialog.open();
> > > String startLabel = dialog.getValue();
> > > }
> > > catch(Exception e){
> > > e.printStackTrace();
> > > }
> > >
> > > But when I ran Run-time Workbench, the following error was displayed:
> > > Exception occurred during launch
> > > Reason:
> > > Error within Debug UI:
> > >
> > > I set a breakpoint before my code, but it seemed that it was not
> > encountered
> > > before the error occurred.
> > >
> > > Please tell me how to use InputDialog in cdt.debug. Or is there
another
> > good
> > > way to get a string from user when debugging?
> > >
> > > Thanks in advance.
> > >
> > > Sincerely yours,
> > >
> > > Felix
> > >
> > > _______________________________________________
> > > cdt-debug-dev mailing list
> > > cdt-debug-dev@xxxxxxxxxxx
> > > http://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
> > >
> >
> > _______________________________________________
> > cdt-debug-dev mailing list
> > cdt-debug-dev@xxxxxxxxxxx
> > http://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
> >
>
>
> --
> au revoir, alain
> ----
> Aussi haut que l'on soit assis, on est toujours assis que sur son cul !!!
>
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>