6

Sto sviluppando una libreria di classi. La libreria deve essere utilizzata da un altro programma, un exe senza codice sorgente. Il percorso del file della libreria viene passato come parametro a questo exe, ad esempio eseguendo: prog.exe lib.dllVisual Studio: come eseguire il debug di una libreria con un eseguibile esterno?

Vorrei eseguire il debug della libreria utilizzando questo .exe (utilizzando strumenti di debug come i punti di interruzione, ecc.) Come utilizzare Visual C# per fare questo?

Ho trovato un modo possibile, che sta creando un programma a una riga che esegue prog.exe lib.dll. Sicuramente c'è un modo migliore?

risposta

1

Se si dispone già di un programma esterno che utilizzano la libreria (che poi è anche un'applicazione .NET, io assumere), è possibile avviare il programma e collegare il debugger al processo (Debug ->Attaccare per elaborare nel menu). Quindi sarai in grado di impostare i punti di interruzione nel codice della libreria di classi e di eseguirne il debug. Assicurati che l'exe usi un file dll e pdb sincronizzato con il tuo codice (l'ultima build).

+1

l'espressi non hanno la funzione per eseguire il debug di processi esterni : http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx – Robert

2

Nelle opzioni di debug del progetto selezionare "Avvia programma esterno" e immettere il percorso dell'exe. All'avvio del debug VS avvierà l'exe, collegandolo come debugger.

Quando la libreria viene caricata, verranno attivati ​​tutti i punti di interruzione del codice.

Un avvertimento: con un programma esterno assicurarsi che sta caricando il dll si sta costruendo, le cose possono essere (al massimo) di strano se si sta caricando una versione diversa che non corrisponde il codice sorgente.

+0

"Avvia programma esterno" non viene visualizzato nell'opzione di debug del progetto. Ho solo argomenti a riga di comando e directory di lavoro. Ho provato ad aggiungere il percorso del programma all'argomento della riga di comando, non consente ancora il debug. –

+0

È perché ho l'edizione espressa? –

+0

@Louis: potrebbe essere un problema (non avere espresso, quindi non è possibile controllare). – Richard

0
  1. Probabilmente si può provare windbg. con l'estensione di sos, è mearly possibile a tutto ciò che fai con Visual Studio.
  2. Se invece si è interessati a eseguire il debug la biblioteca, allora perché non si può caricare quella libreria in un exe creato e passo all'interno della biblioteca,
  3. versioni
Problemi correlati