6

Zajmuję się tworzeniem biblioteki klas. Biblioteka ma być używana przez inny program, .exe bez kodu źródłowego. Lokalizacja pliku biblioteki jest przekazywana jako parametr do tego exe, na przykład przez uruchomienie: prog.exe lib.dllVisual Studio: jak debugować bibliotekę z zewnętrznym plikiem wykonywalnym?

Chciałbym debugować bibliotekę przy użyciu tego .exe (przy użyciu narzędzi do debugowania, takich jak punkty przerwania itp.) Jak korzystać z Visual C# to zrobić?

Znalazłem możliwy sposób, który tworzy jednoliniowy program, który wykonuje prog.exe lib.dll. Na pewno jest lepszy sposób?

Odpowiedz

1

Jeśli masz już zewnętrznego programu, które używają biblioteki (który następnie jest również aplikacji .NET, będę zakładać), można uruchomić ten program i dołączyć debugera do procesu (Debug ->Attach do przetwarzania w menu). Wtedy będziesz mógł ustawić punkty przerwania w swoim kodzie biblioteki klas i debugować go. Upewnij się, że plik exe używa pliku DLL i pdb, który jest zsynchronizowany z Twoim kodem (najnowszą wersją).

+1

wyraźnej nie mają funkcji do debugowania procesów zewnętrznych : http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx – Robert

2

W opcjach debugowania projektu wybierz "Uruchom program zewnętrzny" i wprowadź ścieżkę do pliku exe. Podczas uruchamiania debugowania VS uruchomi plik exe, dołączając go jako debugger.

Po załadowaniu biblioteki zostaną przerwane wszelkie punkty zatrzymania w kodzie.

Jedna uwaga: przy zewnętrznym programie upewnij się, że ładuje się bibliotekę dll, którą budujesz, rzeczy mogą być (w najlepszym przypadku) dziwne, jeśli ładuje się inną wersję, która nie pasuje do kodu źródłowego.

+0

"Uruchom program zewnętrzny" nie pojawia się w opcji debugowania projektu. Mam tylko argumenty wiersza poleceń i katalog roboczy. Próbowałem dodać ścieżkę programu do argumentu wiersza poleceń, nadal nie pozwala na debugowanie. –

+0

Czy to dlatego, że mam ekspresowe wydanie? –

+0

@Louis: to może być problem (nie masz wyraźnego, więc nie można sprawdzić). – Richard

0
  1. Prawdopodobnie możesz spróbować windbg. z rozszerzeniem sos, jest to mizernie możliwe do wszystkiego, co robisz w Visual Studio.
  2. Jeśli chcesz to debugować bibliotekę, to dlaczego nie może załadować tej biblioteki do exe utworzonego i krok wewnątrz biblioteki,
  3. wersje
Powiązane problemy