B
Bill Menees
VS.NET 2003 defaults the "Debugger Type" property to "Auto" for Visual C++
projects. Unfortunately, the "Auto" type isn't very smart. "Auto" bases
the debugger type on the launched EXE's type, which may have nothing to do
with the C++ project I'm trying to debug.
I have a .NET EXE that hosts all of my DLLs, but a lot of the DLLs are old,
unmanaged C++ COM DLLs. Now everytime I debug one of them, I have to
remember to change the debugger type to "Native Only".
"Auto" should be based on the startup project's build settings. If it is an
EXE build, then use the current "Auto" behavior. But if it is a DLL build,
then:
* If it is an unmanaged C++ project (i.e., it is NOT using managed
extensions), then the debugger type should be native only.
* If it is a purely managed C++ project, then the debugger type should
be managed.
* If it is a mixed-mode project, then the debugger type should be mixed.
The type of EXE you're launching isn't relevant to the debugger type needed
for a C++ DLL. My assumption here is that if I choose a C++ DLL project as
the startup project when debugging, then I want to debug in the mode most
appropriate for that project's settings and NOT a mode based on the EXE
that's hosting the DLL.
I'm also tired of answering the "Why isn't it hitting any of my
breakpoints?" question for co-workers because they forget or don't know
about the "Debugger Type" property.
Is there any chance this is fixed/changed in VS.NET 2005?
projects. Unfortunately, the "Auto" type isn't very smart. "Auto" bases
the debugger type on the launched EXE's type, which may have nothing to do
with the C++ project I'm trying to debug.
I have a .NET EXE that hosts all of my DLLs, but a lot of the DLLs are old,
unmanaged C++ COM DLLs. Now everytime I debug one of them, I have to
remember to change the debugger type to "Native Only".
"Auto" should be based on the startup project's build settings. If it is an
EXE build, then use the current "Auto" behavior. But if it is a DLL build,
then:
* If it is an unmanaged C++ project (i.e., it is NOT using managed
extensions), then the debugger type should be native only.
* If it is a purely managed C++ project, then the debugger type should
be managed.
* If it is a mixed-mode project, then the debugger type should be mixed.
The type of EXE you're launching isn't relevant to the debugger type needed
for a C++ DLL. My assumption here is that if I choose a C++ DLL project as
the startup project when debugging, then I want to debug in the mode most
appropriate for that project's settings and NOT a mode based on the EXE
that's hosting the DLL.
I'm also tired of answering the "Why isn't it hitting any of my
breakpoints?" question for co-workers because they forget or don't know
about the "Debugger Type" property.
Is there any chance this is fixed/changed in VS.NET 2005?