Jak debugować przywoływaną bibliotekę DLL (mającą pdb)
Moje pytanie dotyczy Visual Studio 2008, chociaż przypuszczam, że powinno być tak samo w VS2005
Mam dwa rozwiązania w moim obszarze roboczym, powiedzmy A i B.
Rozwiązanie A to starszy projekt, który skończyłem kodować jakiś czas temu. W rozwiązaniu B muszę użyć niektórych klas z rozwiązania A. Aby to zrobić, dodam odniesienie do biblioteki dll jednego z projektów w rozwiązaniu A.
Problem polega na próbie debugowania. Chcę także móc wejść w kod A. Visual Studio nie jest w stanie załadować kodu dla tych klas („Brak aktualnego kodu źródłowego dla bieżącej lokalizacji.”) I mogę tylko wyświetlić demontaż, który nie jest użyteczny.
Jedynym sposobem, jaki znam, aby debugować klasy z rozwiązania A, jest uruchomienie rozwiązania B, odłączenie wszystkich procesów (w elemencie menu Debug) i dołączenie procesu z rozwiązania A.
Jest to jednak bardzo niewygodne i mogę debugować tylko A LUB B jednocześnie.
Czy istnieje sposób pozwalający na wkroczenie do kodu odnośników dll (dla których mam kod źródłowy)?
Rozwiązanie: Mój błąd polegał na tym, że pomyślałem, że projekt może być tylko jednym rozwiązaniem. W rzeczywistości projekt może być częścią dowolnej liczby rozwiązań.
Kiedy musisz odwołać się do starego projektu, po prostu dodaj projekt do rozwiązania. Robi się to klikając prawym przyciskiem myszy nowe rozwiązanie w Eksploratorze rozwiązań> Dodaj> Istniejący projekt.
Następnie będziesz mógł dodać odniesienie do projektu. Jak napisali inni, prawdopodobnie powinniście całkowicie unikać używania dll do własnego kodu (lub innego kodu, który może być potrzebny do zmiany i debugowania).
Bardzo dobre odniesienie do sposobu projektowania rozwiązań można znaleźć wMSDN.