Condividi tramite


Debug dei server e dei contenitori COM

Le applicazioni COM eseguono alcune attività che non sono sotto il controllo diretto del programmatore.Le comunicazioni tra le DLL, il conteggio di utilizzo degli oggetti e le operazioni relative agli Appunti rappresentano solo alcune delle aree nelle quali potrebbero verificarsi comportamenti non prevedibili.In questi casi il primo passo consiste nel tracciare il codice sorgente.

Il debugger di Visual Studio supporta l'esecuzione delle istruzioni attraverso i contenitori e i server e all'interno di essi.Tale supporto include la capacità di eseguire le istruzioni RPC (Remote Procedure Call, chiamata a procedura remota).

In questo argomento

  1. Debugging a COM Server and Container in the Same Solution

  2. Debugging a Server Application Without Container Information

  3. Debugging a Server and Domain Isolation (SDI) Application

Il debug di un Server COM e un contenitore nella stessa soluzione

È possibile eseguire il debug di un server e di un contenitore COM utilizzando due progetti all'interno della stessa soluzione.Impostare i punti di interruzione appropriati in ogni progetto e procedere al debug.Quando il contenitore effettua una chiamata nel codice del server in cui è stato impostato un punto di interruzione, il contenitore resta in attesa della fine dell'esecuzione del codice del server ovvero il termine del relativo debug.È anche possibile tracciare le chiamate che attraversano i limiti dei processi.Per ulteriori informazioni, vedere Macro Trace.

Il debug di un contenitore COM è simile a quello di un programma standard.Presenta invece delle differenze quando si riferisce a un evento che genera un callback, ad esempio il trascinamento di dati in un'applicazione contenitore.In questo caso, è necessario impostare un punto di interruzione nella funzione di callback.

Debug di un'applicazione Server senza informazioni sul contenitore

Se non si dispone o non si desidera utilizzare le informazioni di debug per l'applicazione contenitore, l'avvio di debug dell'applicazione server è un processo in tre fasi:

  1. Avviare il debug del server come applicazione normale.

  2. Impostare i punti di interruzione nel modo desiderato.

  3. Avviare l'applicazione contenitore.

Il debug di un Server e il dominio dell'applicazione di isolamento (SDI)

Se si esegue il debug di un'applicazione server SDI, è necessario specificare /Embedding o /Automation nella proprietà Argomenti della riga di comando disponibile nella finestra di dialogo Pagine delle proprietà di Progetto per i progetti C/C++, C# o Visual Basic.

Grazie a questi argomenti della riga di comando, il debugger è in grado di avviare l'applicazione server come se tale avvio venisse eseguito da un contenitore.In seguito all'avvio del contenitore da Program Manager o File Manager, il contenitore utilizzerà l'istanza del server già avviata dal debugger.

Per accedere alla finestra di dialogo Pagine delle proprietà di Progetto, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni, quindi scegliere Proprietà dal menu di scelta rapidaPer individuare la proprietà Argomenti della riga di comando, espandere la categoria Proprietà di configurazione e fare clic sulla pagina Debug.

Vedere anche

Altre risorse

Debug di COM e ActiveX