App config settings are not a good choice for this because Gallio gets
embedded in a lot of different apps all of which would need to be
changed.
Two options that could work well together:
1. Add a DebuggerTypes property to HostSetup then modify IDebugger to
receive the types as a parameter. Also add in a query for debugger
types. The types could be enumerated in plugin metadata so we avoid
having to launch Visual Studio just to get then. (Caveat: we will have
to edit the plugin metadata whenever a new well known type becomes
available).
Then we can add extra command line arguments to Echo et. al and a GUI
preference for Icarus.
We could make up a new IDebuggerManager to support these queries and
act as a factory for IDebugger. This is good because we need to deal
with non Visual Studio based debuggers at some point.
2. I think it is possible to switch debuggers at runtime (can detach
then attach at the least) so we could provide a debugger hint
attribute for the tests.
[Debugger("Managed", "Native")]
Jeff
On Apr 23, 2009, at 6:44 AM, "Rob Prouse" <[email protected]> wrote:
>
> I think that available debugger engines is very dependent on the
> debugger we
> are using. If in the future we want to support other debuggers than
> Visual
> Studio, then those command line options would probably complicate
> things.
>
> Also, looking at the code, getting the HostSetup to the debuggers
> would
> require changes to several interfaces.
>
> This is fairly important to us though, so I don't mind doing the
> work. What
> if we kept it simple? I could add application settings to the
> VisualStudio.Interop project to specify the debuggers to load, then
> add
> those settings to the app config files for Echo and Icarus with the
> extra
> engines commented out.
>
> This way, people who need this functionality can easily turn it on
> and the
> majority that don't won't be affected. We could also support other
> debugger
> specific options in the future which might come in handy for Mono.
>
> If this is okay, I will get it done and submit a patch.
>
> Rob Prouse
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of Jeff Brown
> Sent: April-22-09 4:31 PM
> To: [email protected]
> Cc: 'Jamie Cansdale'
> Subject: MbUnit Re: Native Debugging
>
>
> Hmm.
>
> I think we'll have to settle the problem of configuring the
> debuggers then.
> Several people have already that single stepping through a test is
> too slow
> so I hesitate to add much more overhead if possible. (The problem
> is that
> the MbUnit stack is pretty deep. I'll have to rearrange the code to
> cut
> down on stack depth.)
>
> I guess the debugging Api could be extended with an option to
> specify the
> debugger types. I guess it would also need a way to enumerate the
> available
> debuggers. Then things get complicated.
>
> I wonder how ReSharper and TestDriven.Net handle this problem. Do
> they only
> launch the Managed debugger?
>
> Jeff.
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of Rob Prouse
> Sent: Wednesday, April 22, 2009 12:56 PM
> To: [email protected]
> Subject: MbUnit Re: Native Debugging
>
>
> The only problem that I have seen is that it is a little bit slower
> to step
> through code while debugging. If that is a problem, which debuggers
> are
> attached could easily be a configuration option. For example, we
> could also
> attach T-SQL, Script or Workflow debugging engines. It will be very
> obvious
> in the code.
>
> Also, I wrote it so that if it has trouble using the EnvDTE80
> interfaces, it
> will fall back to managed only debugging using the old interfaces.
>
> I have attached the patch to issue #431.
>
> Thanks.
>
> Rob Prouse
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of Jeff Brown
> Sent: April-22-09 3:10 PM
> To: [email protected]
> Subject: MbUnit Re: Native Debugging
>
>
> Please open up an issue and attach the patch. That way I won't
> forget to
> apply it!
>
> Do you think there could be any problems with attaching the Native
> debugger
> all of the time? I've had it go a little nuts on me before although
> mainly
> during remote debugging sessions.
>
> Thanks!
> Jeff.
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of Rob Prouse
> Sent: Wednesday, April 22, 2009 11:49 AM
> To: [email protected]
> Subject: MbUnit Native Debugging
>
>
> Some of our test suites call into Native code, but we cannot step
> into the
> native code when using the new debug command line or button in Icarus.
>
> I have a patch for Gallio.VisualStudio.Interop.VisualStudioDebugger
> that
> attaches the Managed and Native debuggers using EnvDTE80 instead of
> EnvDTE.
>
> Should I open an issue and add the patch, or is this such an
> isolated case
> that this feature shouldn't be added?
>
> Thanks.
>
> Rob Prouse
>
>
>
>
>
>
>
>
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"MbUnit.User" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/MbUnitUser?hl=en
-~----------~----~----~----~------~----~------~--~---