Skip to content

Latest commit

 

History

History
55 lines (38 loc) · 3.2 KB

com-server-and-container-debugging.md

File metadata and controls

55 lines (38 loc) · 3.2 KB
title description ms.date ms.topic dev_langs helpviewer_keywords author ms.author manager ms.subservice
COM Server and Container Debugging
Learn about COM server and container debugging. Debug a COM server and container in the same solution, a server app without container information, or an SDI app.
11/04/2016
conceptual
CSharp
VB
FSharp
C++
ActiveX control container debugging [Visual Studio]
debugging ActiveX controls
COM servers, debugging
ActiveX controls, debugging
COM [Visual Studio], debugging
mikejo5000
mikejo
mijacobs
debug-diagnostics

COM Server and Container Debugging

COM applications perform a number of tasks outside of the programmer's direct control. Communication between DLLs, usage counts on objects, and Clipboard operations are just a few of the areas where you might encounter unexpected behavior. When this happens, your first step is to track down the source of the problem.

The Visual Studio debugger supports stepping across and into containers and servers. This includes the ability to step across remote procedure calls (RPC).

Debugging a COM Server and Container in the Same Solution

You can debug a COM server and container using two projects within the same solution. Set appropriate breakpoints in each project and debug. When the container makes a call into the server that hits a breakpoint, the container will wait until the server code returns (that is, until you finish debugging it).

Debugging a COM container is similar to debugging a standard program. One difference is when you debug an event that generates a callback (such as dragging data over the container application). In this case, you must set a breakpoint in the callback function.

Debugging a Server Application Without Container Information

If you do not have or do not want to use debugging information for your container application, starting to debug the server application is a three-step process:

  1. Start debugging the server as a normal application.

  2. Set breakpoints as desired.

  3. Start the container application.

Debugging a Server and Domain Isolation (SDI) Application

If you are debugging a server and domain isolation (SDI) server application, you must specify /Embedding or /Automation in the Command line arguments property in the Project Property Pages dialog box for C/C++, C#, or Visual Basic projects.

With these command line arguments, the debugger can launch the server application as though it were launched from a container. Starting the container from Program Manager or File Manager will then cause the container to use the instance of the server started in the debugger.

To access the Project Property Pages dialog box, right-click your project in Solution Explorer, and then choose Properties from the shortcut menu. To find the Command line arguments property, expand the Configuration Properties category and click the Debugging page.

Related content