Nie można debugować niezarządzanej biblioteki Dll z poziomu C#
Mam DLL, który został napisany w {[0] } i wywołany z C#
aplikacji. {[2] } jest kodem niezarządzanym.
Jeśli skopiuję DLL
i jego .pdb
pliki ze zdarzeniem post build do debug execution C#
aplikacji dir
nadal nie mogę trafić żadnych punktów przerw w kodzie DLL
. Punkt przerwania ma dołączony komunikat, że "żadne symbole nie zostały załadowane dla tego dokumentu".
Co jeszcze muszę zrobić, aby uzyskać debugowanie w źródle dll
?
I mieć "Tools
->Options
->Debugging
->General
->Enable
tylko mój kod " wyłączony.
W związku z tym, że nie jest to możliwe, nie jest to możliwe, ponieważ nie jest to możliwe, ponieważ nie jest to możliwe.]}
4 answers
Aby debugować w C++ DLL, musisz włączyć debugowanie w trybie mieszanym w aplikacji startowej w Twoim rozwiązaniu.
- Kliknij prawym przyciskiem myszy na projekt - > właściwości
- Przejdź do zakładki Debug
- Zaznacz opcję "Włącz debugowanie kodu niezarządzanego"
To pozwoli Ci debugować do kodu natywnego dla scenariusza w stylu F5. Jeśli chcesz włączyć go do dołączania do procesu, wykonaj następujące czynności w oknie dialogowym "Dołącz do procesu"
- Wybierz proces, aby debug
- Kliknij na " Wybierz ..."przycisk nad listą procesów
- Kliknij "Debuguj te typy kodu"
- Sprawdź zarówno zarządzane, jak i natywne
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-16 21:16:50
Musisz włączyć debugowanie niezarządzane (natywne).
Jeśli dołączasz do procesu po jego uruchomieniu:
Przejdź do menu Narzędzia, a następnie załącz do procesu, upewnij się, że masz włączone debugowanie natywne.
Zobaczysz okno edycji tylko do odczytu:
Dołącz do: Managed code, Native code [Select]
Upewnij się, że kod natywny jest tam wymieniony. Jeśli nie dodać.
Jeśli rozpoczynasz swój projekt z poziomu visual studio:
Na właściwościach projektu, które uruchamiasz w trybie debugowania. Przejdź do właściwości projektu, a następnie wybierz kartę Debuguj.
Upewnij się, że to pole jest zaznaczone:
Włącz debugowanie kodu niezarządzanego
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-16 21:15:57
Kiedy dołączasz proces do debugowania, musisz określić, w jaki sposób chcesz dołączyć. Masz kilka opcji, a mianowicie zarządzane i natywne. Aby debugować kod C# z niezarządzanym C++, musisz dołączyć do procesu jako zarządzany i natywny (oba mogą być wybrane w tym samym czasie).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-16 21:16:09
Miałem do czynienia z tym samym problemem i zrobił wszystko, co zostało zasugerowane w zaakceptowanej odpowiedzi, ale punkty przerwania w niezarządzanej dll nie został trafiony!
Jednak kiedy zrobiłem następujące mogłem w końcu debugować dll!
Wybierz rozwiązanie w Eksploratorze rozwiązań
Wybierz z Menu / Narzędzia|Opcje|debugowanie / Ogólne
Odznacz opcję "Wymagaj plików źródłowych, aby dokładnie pasowały do oryginalnej wersji"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-12 04:48:47