Ho una soluzione C++. Il progetto di avvio è un exe. Nella soluzione ci sono un numero C# dlls (targeting .NET Framework 2.0) che sono registrati per l'interoperabilità COM. Quando inserisco un breakpoint nel codice C# ottengo il breakpoint rosso vuoto con "No native symbols in symbol file"
Debug C# dll dalla soluzione C++ tramite COM
Ho provato a impostare Project Property Pages -> Debugging -> Debugger Type
su Misto sul progetto di avvio che chiama i metodi COM.
Ho controllato Debug -> Windows -> Modules
. Ha caricato le mie DLL e lo stato del simbolo è "No native symbols in symbol file"
.
Questa non è la fine del mondo, perché se lo faccio Debug -> Start Without Debugging
e poi Debug -> Attach to Process
, cambiando il Attach To:
-Managed (v2.0, v1.1, v1.0) code, Native code
. Poi ho raggiunto i breakpoint sia nel codice C++ che nel codice C#.
Quindi ho una soluzione alternativa, ma penso che se posso farlo collegando al processo, dovrei riuscire a farlo solo con il debug.
Come posso raggiungere i punti di interruzione C# eseguendo semplicemente Debug -> Start Debugging
?
dubbio che ci sia un modo fattibile, ho provato lo stesso, e ha trascorso ore a cercare di farlo e, infine, è rimasto bloccato con l'utilizzo del Connetti a processo che funziona bene. – SinisterMJ
Abbastanza corretto, non ho alcun problema con l'utilizzo di attach per elaborarlo, è solo una di quelle cose in cui non puoi lasciarlo perché pensi che "sicuramente ci dev'essere un modo" – Liam
Anche io ho questo problema e immagino che sia fondamentale il problema è che "Mixed" seleziona Native + Managed (v4.0), quindi non c'è modo di selezionare Native + Managed (v2.0) dalle impostazioni di avvio. –