Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le applicazioni COM eseguono diverse attività al di fuori del controllo diretto del programmatore. La comunicazione tra DLL, i conteggi di utilizzo sugli oggetti e le operazioni degli Appunti sono solo alcune delle aree in cui potrebbe verificarsi un comportamento imprevisto. In questo caso, il primo passaggio consiste nel tenere traccia dell'origine del problema.
Il debugger di Visual Studio supporta il passaggio passo passo attraverso e all'interno di contenitori e server. Ciò include la possibilità di eseguire passaggi tra chiamate di procedura remota (RPC).
Debug di un server COM e di un contenitore nella stessa soluzione
È possibile eseguire il debug di un server COM e di un contenitore usando due progetti all'interno della stessa soluzione. Impostare i punti di interruzione appropriati in ogni progetto ed eseguire il debug. Quando il contenitore effettua una chiamata al server che raggiunge un punto di interruzione, il contenitore attenderà finché il codice del server non viene restituito, ovvero fino al termine del debug.
Il debug di un contenitore COM è simile al debug di un programma standard. Una differenza è quando si esegue il debug di un evento che genera un callback, ad esempio trascinando i dati sull'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 hanno o non si vogliono usare le informazioni di debug per l'applicazione contenitore, iniziare a eseguire il debug dell'applicazione server è un processo in tre passaggi:
Avviare il debug del server come applicazione normale.
Impostare i punti di interruzione in base alle esigenze.
Avviare l'applicazione contenitore.
Debug di un'applicazione SDI (Server and Domain Isolation)
Se si esegue il debug di un'applicazione server e di isolamento del dominio (SDI), è necessario specificare /Embedding o /Automation nella proprietà Argomenti della riga di comando nella finestra di dialogo Pagine delle proprietà del progetto per progetti C/C++, C# o Visual Basic.
Con questi argomenti della riga di comando, il debugger può avviare l'applicazione server come se fosse stata avviata da un contenitore. L'avvio del contenitore da Program Manager o File Manager farà in modo che il contenitore usi l'istanza del server avviato nel debugger.
Per accedere alla finestra di dialogo Pagine delle proprietà del progetto , fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Proprietà dal menu di scelta rapida. Per trovare la proprietà Argomenti della riga di comando, espandere la categoria Proprietà di configurazione e fare clic sulla pagina Debug.