A powerful feature of Visual Studio .NET is its ability to debug across languages that target the common language runtime, and across execution environments. For example, if you write a Visual Basic .NET component that is called by a C# component that is in turn called by COBOL code (that targets the runtime), you can seamlessly step between languages when debugging. You can also see a single callstack that shows the different functions called in the languages you just stepped through.
You can also step between C++ code to any .NET Framework language and vice versa. Code written for .NET-based applications can work with C++ code through Platform Invoke, COM Interoperability, or through Managed Extensions for C++. You can seamlessly step into and debug from one language to the other, and again, the debugger will have a single callstack showing all the components. To enable debugging between the common language runtime code and C++ code running natively, you need to change an option in your launching project settings. In Solution Explorer, locate your startup project (this project's name will be bolded). This is the project that gets launched when you press F5. To debug both runtime code and native code, the startup project has to be configured to support both types of debugging. To do this, open your project properties and select the Debugging folder under Configuration Properties.
|