Ho un EXE Win32 scritto in VC++. Ho implementazione scritta in C#. Ho il VC++ EXE che consuma la DLL C# come descritto qui: http://support.microsoft.com/kb/828736. Funziona alla grande, ma devo essere in grado di eseguire il debug. Entrambi i progetti sono caricati nella stessa .SLN, ma i punti di interruzione nel C# non vengono mai colpiti. C'è un modo per eseguire il debug di questo in VS2012?Debug di un componente gestito da C++ Win32
risposta
Ah, risulta che questo è facile se si conosce il pulsante giusto da premere. Nelle proprietà del progetto C++, Proprietà di configurazione -> Debug -> Tipo debugger = "Misto".
Provare ad aggiungere un riferimento al progetto alla D # Cll dal progetto C++. Se lo hai già fatto, pulisci la soluzione e costruisci. Questo dovrebbe risolvere il problema.
Ho impostato un punto di interruzione subito dopo l'istanziazione del componente C#. Guardando la finestra Modules, vedo che la DLL è contrassegnata dal messaggio "Il modulo non è stato caricato sull'indirizzo di caricamento predefinito" e "Skipped loading symbols for NGen binary". Cliccando su Symbol Load Info si ottiene: "Questo modulo è un binario precompilato creato dallo strumento ngen.exe Il debugger non tenta di caricare i simboli per questi binari, ma caricherà i simboli per dll/exe originali quando è caricato da .NET Runtime. " Fare clic su Carica simboli mi consente di navigare su .PDB (che sembra già conoscere), ma non aiuta. –
- 1. non può eseguire il debug non gestito DLL da C#
- 2. Debug di C++ nativo/gestito in VS 2010 con NUnit
- 3. esegue il debug del codice C++ gestito e del codice C++ non gestito in una soluzione
- 4. Debug del codice non gestito durante il debug del codice gestito
- 5. Gestione memoria del componente non gestito da CLR
- 6. Come fare riferimento a un componente WinRT nativo da un progetto gestito?
- 7. Chiamare una dll C++ (codice non gestito) da un servizio Windows C# (scritto nel codice gestito)
- 8. Chiamata di un componente ServicedServer remoto da un client C#
- 9. C Win32: salva l'immagine .bmp da HBITMAP
- 10. Passaggio da ProcessThread a un thread gestito
- 11. Esiste un modo più indolore per chiamare Win32 da C#?
- 12. Prestazioni di richiamo del codice non gestito dal codice gestito
- 13. C++ gestito per formare un ponte tra C# e C++
- 14. Pass char ** per riferimento da C# a C++ non gestito
- 15. Passare la struttura da C++ non gestito a C#
- 16. Prestazioni di chiamata .dll non gestito da C#
- 17. C++ Win32 Console Colore
- 18. Object oriented C++ win32?
- 19. Double Buffering? Win32 C++
- 20. TargetInvocationException non gestito: C#
- 21. applicazione di debug che è gestito utilizzando PM2
- 22. Leggi un PNG utilizzando Win32/C++
- 23. Un assembly C++ gestito può restituire un oggetto a C#?
- 24. Debug dell'applicazione in modalità mista (C#, C++)
- 25. Passaggio di un vettore/array da C++ non gestito a C#
- 26. C++ gestito (C++/CLI) vs C#/VB.NET
- 27. chiamata C# funzioni dal C++ non gestito
- 28. Come ottenere un array di byte da C# a un componente WinRT C++
- 29. Ottieni componente da un JScrollPane
- 30. Imposta bean gestito come parametro nel componente composito
Todd. Mi hai salvato la vita. – Sherlock