2009-06-30 15 views
21

Ho una .dll da C++ e voglio eseguire il debug in C#, ma non so come.Debug C++ dll in C#

Quando ho compilato il progetto C++, Visual Studio mi ha chiesto di eseguire un ".exe".

Supponevo di dover creare un progetto per eseguire la dll.

Ma mi sono perso, come è possibile eseguirne il debug?

risposta

3

Visual Studio non può eseguire una DLL da sola.

È necessario impostare l'exe di avvio che utilizzerà la DLL C++ nelle proprietà del progetto dll. Puoi farlo dalle proprietà -> debug -> comando specificando il percorso dell'eseguibile che chiamerà la tua DLL e qualsiasi argomento della riga di comando necessario.

28

Se ho capito bene, vuoi eseguire il debug di una DLL codificata in C++ che hai creato, in un progetto C# che chiama la DLL, che hai anche creato?

Ho già eseguito questa operazione andando nelle proprietà del progetto C# e, nella sezione Debug, selezionando la casella di controllo "Abilita debug del codice non gestito". Questo dovrebbe permetterti di entrare nella tua DLL C++.

+3

Inoltre, in Visual Studio 2012 ho trovato il opzione da chiamare "Abilita debug del codice nativo" – ComethTheNerd

14

Per eseguire il debug di un C++ da C# ci sono un paio di cose che devi fare.

  1. Aggiungi un progetto C# alla soluzione per l'applicazione di debug.
  2. Modificare le proprietà del progetto C# su "Consenti debug di codice non gestito" nella scheda "Debug" delle proprietà del progetto.
  3. Imposta il progetto C++ come dipendenza del progetto C#.
  4. Scrivere il codice nel progetto C# per utilizzare la DLL utilizzando P/Invoke o COM.
  5. Impostare alcuni punti di interruzione nel codice C++ ed eseguire il progetto C#.
+0

Il punto 2 lo ha fatto per me! Beh, io mai ... – Ian

0

SOS (figlio di sciopero) estensione di debug (Sos.dll) aiuta il debug codice gestito in Visual Studio, fornendo informazioni sull'ambiente CLR interno

riferisce l'articolo qui sotto : -

MSDN ARTICLE