Domanda

Ho un progetto vb che chiama funzioni in una dll. La dll viene creata in un progetto separato vs (portaudio), che è scritto in c.

Il progetto dll c viene compilato in modo pulito e crea la dll richiesta, che al momento sto trascinando in c: \ windows \ system per vb runtime può vederlo.

Il progetto VB vive in c: \ devprojects \ vbtest

C Il progetto vive in c: \ devprojects \ portaudio con il file di progetto in c: \ devprojects \ portaudio \ build \ msvc. DLL creata in Win32 \ debug in questa directory msvc.

Quando chiamo la funzione dll, è possibile che il debugger vs passi attraverso la funzione c nella dll: ho tutto il codice ecc., ma non so se VS2005 supporta questo tipo di debug in linguaggio misto.

Se questo è possibile, potresti consigliarmi come devo impostare Visual Studio per raggiungere questo obiettivo.

Mille grazie David

È stato utile?

Soluzione

Non è necessario avere entrambi i progetti nella stessa soluzione, ma è necessario compilare entrambi i progetti con i simboli di debug abilitati.

Ora nella tua soluzione di rete VB Progetto / Proprietà, nella scheda Debug assicurati che " Abilita il debug del codice non gestito " è selezionato.

Assicurati anche che la dll caricata sia nello stesso posto in cui è stata compilata, altrimenti potrebbe non trovare il pdb in cui sono memorizzati i simboli di debug.

Altri suggerimenti

Crea una soluzione con entrambi i progetti, aggiungi il riferimento nel progetto VB al progetto C usando la finestra di dialogo "Aggiungi riferimento .." - > Proiettali e costruiscili tutti in modalità debug.

Come si chiama Cll da VB?

Se è VB.NET, questo è molto semplice, basta impostare una soluzione con entrambi i progetti al suo interno, impostare le loro dipendenze e assicurarsi che al momento della compilazione della versione di debug del progetto VB si colleghi alla lib / dll di debug prodotta da il tuo progetto C ++. Visual Studio fa il resto.

L'ho già fatto un paio di volte con applicazioni C # che chiamavano una DLL C ++. Non avevo intenzione di configurarlo, ma ho provato a passare attraverso il debug supponendo che avrei ottenuto l'elenco dell'assembly e almeno avrei potuto capire qualcosa di ciò che non andava nel mio codice ... tuttavia ha caricato il file .cpp corretto e mi ha permesso di continuare a sfogliare quel codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top