Hi,
I'm trying to add support for the launchbar in our toolchain and have a question about how launch targets work.
We have our own debugger infrastructure (i.e. not gdb), which supports a number of so-called debugger drivers. A debugger driver in this context can something like our built-in simulator, or some form of external probe connected via USB (e.g. J-LINK). The
debugger driver is specified as a parameter to our external debugger, and I was planning to let a launch-target map to a debugger driver, since it becomes natural to think of a launch as "debug project X on J-LINK".
So, my question is, do I create one launch target type per driver, or do I let my implementation of ILaunchTargetProvider create multiple ILaunchTargets having the same ID? I guess another way to put it is: "is each
launch target expected to have a unique ID?"
Yes, the launch targets need unique IDs. We use them to know which target is active on startup. And I think I missed the point why you would multiple targets to have the same id.
Anything can be a target. For a given thing you are launching and a given launch mode, if the user has a choice of what else to use to launch, then it should probably be a separate target for each choice so they show up in the target selector and the user
can choose between them.
Of course, that leads to the case where a given device might have multiple paths, which is probably wise not to think of those devices as targets, but each of those paths are a target. Which probably means target is the wrong term to use, but couldn’t
think of a better one, though “connection” was once a term I used.
HTH,
Doug.
I hope I'm making myself clear here.
/Jesper
|