Condividi tramite


Componenti di debug scritti in Visual C++

Quando si è pronti per eseguire il debug delle funzionalità COM+ nei componenti di Microsoft Visual C++, è possibile configurare il progetto Visual C++ o lo strumento di amministrazione di Servizi componenti per avviare il debugger. Se si usa Visual C++, è possibile eseguire il debug con un client remoto usando OLE RPC e il debug JIT (Just-In-Time). Se non è possibile eseguire il client nel debugger o se il client è in esecuzione in un altro computer, è possibile usare l'impostazione Avvio COM+ nel debugger . Questa opzione è disponibile nello strumento di amministrazione di Servizi componenti come casella di controllo nella scheda Avanzate della finestra di dialogo Proprietà applicazione COM+.

Al termine del debug, è necessario arrestare le applicazioni COM+ di cui si sta eseguendo il debug. Se un processo del server viene lasciato in esecuzione, è possibile che venga visualizzato un messaggio di errore la volta successiva che si tenta di compilare una DLL quando la DLL esistente è ancora caricata in memoria. Per arrestare un'applicazione COM+, fare clic con il pulsante destro del mouse sull'applicazione nell'albero della console e quindi scegliere Arresta.

Nota

Se si usano transazioni, è anche possibile aumentare il timeout della transazione, che per impostazione predefinita è 60 secondi. È anche possibile specificare un valore pari a 0, specificando in modo efficace un periodo di timeout di transazione infinito. Usando lo strumento di amministrazione di Servizi componenti, modificare l'impostazione di timeout della transazione nella scheda Opzioni della finestra Proprietà computer.

 

Debug dei componenti dell'applicazione server con Visual C++

Quando si esegue il debug di applicazioni server COM+, è possibile eseguire il debug delle chiamate remote caricando sia il client che l'applicazione server nel debugger. Con Visual C++, è possibile eseguire il debug delle chiamate remote ai componenti tramite le impostazioni JIT (Just-In-Time) e OLE RPC. L'impostazione JIT fa sì che il componente compilato avvii il debugger di Visual C++ quando si verifica un errore; L'impostazione OLE RPC consente al debugger di passare dal client al componente durante l'esecuzione del codice.

Quando queste funzionalità sono abilitate, è possibile avviare il client nel debugger. Quando il client effettua una chiamata al componente, il debugger eseguirà l'istruzione nel codice del componente nel processo del server, anche se il server si trova in un computer diverso in rete. Se necessario, nel computer server viene avviata automaticamente una sessione di debug. Analogamente, un'istruzione a istruzione singola oltre l'istruzione return nel codice del componente restituirà il debug all'istruzione successiva nel codice del client.

Nota

È possibile salvare alcuni passaggi usando l'impostazione Avvio COM+ nel debugger . In questo modo è possibile specificare il debugger visual C++ (o altro) senza dover impostare impostazioni di debug speciali nell'ambiente Visual C++. Questa opzione è disponibile nello strumento di amministrazione di Servizi componenti come casella di controllo nella scheda Avanzate della finestra di dialogo Proprietà applicazione COM+. Per altre informazioni, vedere "Debug senza Visual C++" in questo argomento.

 

Quando l'applicazione COM+ contenente il componente è un'applicazione server, è necessario iniziare arrestando l'applicazione usando lo strumento di amministrazione servizi componenti. A tale scopo, fare clic con il pulsante destro del mouse sull'applicazione COM+ nell'albero della console e quindi scegliere Arresta.

Per abilitare il debug RPC in Visual C++

  1. In Visual C++ scegliere Opzioni dal menu Strumenti.

  2. Nella scheda Debug della finestra di dialogo Opzioni selezionare le caselle di controllo Debug RPC OLE e Debug JIT.

  3. Fare clic su OK.

Per avviare il debug, avviare il progetto client nel debugger.

È anche possibile eseguire il debug del componente senza avviare il client nel debugger. In questo caso, il componente deve avviare il debugger autonomamente. A tale scopo, il progetto componente deve specificare un eseguibile per la sessione di debug, insieme all'ID applicazione COM+.

Per abilitare un componente dell'applicazione server per avviare il debugger di Visual C++

  1. Scegliere Impostazioni dal menu Progetto.

  2. Nella finestra di dialogo Progetto Impostazioni selezionare Debug Win32 nella casella Impostazioni For .

  3. Nella scheda Debug selezionare Generale nella casella Categoria.

  4. Nella casella Eseguibile per la sessione di debug immettere il percorso completo per Dllhost.exe, seguito da un argomento che specifica l'ID applicazione dell'applicazione COM+ contenente il componente.

    Nota

    Usando lo strumento di amministrazione di Servizi componenti, è possibile trovare l'ID applicazione nella scheda Generale della finestra di dialogo Proprietà dell'applicazione COM+. Di seguito è illustrato un esempio:

     

    Nota

    C:\Winnt\System32\Dllhost.exe /ProcessID:{applicationID}

     

  5. Fare clic su OK.

È ora possibile impostare punti di interruzione, avviare il debugger e iniziare a effettuare chiamate al componente.

Debug dei componenti dell'applicazione della libreria con Visual C++

Per eseguire il debug dei componenti in un'applicazione di libreria, è necessario configurare il progetto del client perché il processo del client ospiterà l'applicazione di libreria.

Per abilitare il debug dell'applicazione di libreria con Visual C++

  1. In Visual C++ scegliere Impostazioni dal menu Progetto.

  2. Nella finestra di dialogo Impostazioni progetto fare clic su Debug Win32 nella casella Impostazioni For .

  3. Nella casella Categoria della scheda Debug fare clic su DLL aggiuntive.

  4. Nell'elenco Moduli aggiungere le DLL dei componenti nell'applicazione di libreria. In questo modo è possibile impostare punti di interruzione prima del caricamento effettivo della DLL.

  5. Fare clic su OK.

Debug senza Visual C++

Indipendentemente dal fatto che si usi o meno Visual C++ per il debug, è possibile usare l'impostazione Avvia nel debugger per specificare il debugger in cui devono essere eseguiti i componenti.

Per specificare un debugger dallo strumento di amministrazione di Servizi componenti

  1. Nell'albero della console selezionare l'applicazione della libreria COM+ contenente i componenti di cui si vuole eseguire il debug.

  2. Fare clic con il pulsante destro del mouse sull'applicazione e quindi scegliere Proprietà.

  3. Nella finestra di dialogo Proprietà dell'applicazione fare clic sulla scheda Avanzate.

  4. In Debug selezionare la casella di controllo Avvia nel debugger .

  5. Nella casella Percorso debugger immettere il percorso del debugger che si vuole usare. È anche possibile fare clic su Sfoglia per individuare il debugger. Di seguito è riportato un esempio: C:\Winnt\System32\Ntsd.exe.

  6. Fare clic su OK.

Componenti di debug scritti in Visual Basic