Mam rozwiązanie C++. Projekt startowy jest exe. W rozwiązaniu znajduje się kilka bibliotek dll C# (kierujących na .NET Framework 2.0), które są zarejestrowane dla współdziałania COM. Kiedy umieścić punkt przerwania w kodzie C# otrzymuję pustą czerwoną przerwania z "No native symbols in symbol file"
Debuguj C# dll z rozwiązania C++ przez COM
próbowałem ustawienie Project Property Pages -> Debugging -> Debugger Type
Mieszany na projekt start-up, który wywołuje metody COM.
Sprawdziłem Debug -> Windows -> Modules
. Załadował moje biblioteki dll, a status symbolu to "No native symbols in symbol file"
.
To nie koniec świata, ponieważ jeśli wykonam Debug -> Start Without Debugging
, a następnie Debug -> Attach to Process
, zmienię Attach To:
na Managed (v2.0, v1.1, v1.0) code, Native code
. Następnie trafiłem na punkty przerwania zarówno w kodzie C++, jak iw kodzie C#.
Więc mam moje obejście problemu, ale myślę, że jeśli mogę to zrobić przez dołączenie do procesu - powinienem być w stanie to zrobić, po prostu debugowanie.
Jak mogę uderzyć w punkty przerwań C#, robiąc tylko Debug -> Start Debugging
?
wątpliwości, że jest to wykonalne sposób, próbowałem to samo, i godzinami próbują zrobić i ostatecznie utknął z wykorzystaniem dołączyć do procesu, który działa dobrze. – SinisterMJ
Niewystarczająco, nie mam problemu z używaniem załącznika do przetwarzania, jest tylko jedną z tych rzeczy, w których nie można tego zostawić, ponieważ myślisz "na pewno musi być sposób" – Liam
Mam również ten problem i myślę, że fundamentalne Problem polega na tym, że "Mixed" wybiera Native + Managed (v4.0), więc nie ma możliwości wybrania Native + Managed (v2.0) z ustawień startowych. –