2011-11-07 5 views
3

그냥 사소한 것일 수도 있고 어리석은 질문 일 수도 있습니다.Visual Studio, 디버깅 할 때 라이브러리 소스

나는 두 가지 해결책이 있습니다

1) 주요 응용 프로그램 2) 라이브러리

첫 번째 솔루션에 배치이 솔루션에서 dll 파일()와 SourceSafe를 통해 액세스 할 수의 세트는 lib 디렉토리.

라이브러리의 소스 코드로 바로 이동할 수있는 기능으로 기본 앱을 디버깅하려면 2 개에서 1 개까지 프로젝트를 추가해야합니까? 그리고 유일한 옵션입니까?

SC에 특정 프로젝트를 생략하고 추가 할 수있는 경우) 2 개에서 1 개의 솔루션으로 프로젝트를 추가하더라도 SourceSafe를 통해 제어되는 응용 프로그램에서 DLL 참조를 변경해야합니다. 내 동료들을 위해.

무엇을 할 수 있습니까?

+0

당신은 이것을 처리하기 위해 당신의 동료에게 표준 연습이 무엇인지 물었습니까? –

답변

4

디버깅하려면 모든 제 3 자 DLL이 동일한 디렉토리에 해당 pdb가 있어야합니다. 당신이 pdb를 가지고있는 써드 파티 함수로 들어가면, Visual Studio는 당신에게 소스를 물을 것입니다.이 때, 당신은 써드 파티 소스를 가지고있는 로컬 또는 네트워크 공유를 찾을 수 있습니다.

+0

OK를 시도해 볼 수는 있지만, 참조 된 DLL의 소스를 열어서 어떻게 중단 점을 설정할 수 있습니까? – user740144

+0

함수에 한 번 들어가면 ... cpp를 찾아보고 다른 함수에서 원하는대로 중단 점을 설정할 수 있습니다. –

+2

** 디버그 메뉴 -> 중단 점 -> 새 중단 점 **을 수행 할 수도 있습니다. ** Foo :: MyFunction **과 같은 함수를 입력하면 중단 점이 설정됩니다. –

1

외부 DLL을 통해 단계별로 사용했던 .NET Reflector을 사용했습니다. Visual Studio의 애드온으로 리플렉션을 사용하여 .NET 바이너리의 소스 코드 (실제로는 MSIL을 역으로 변환 한 코드)를 통해 디버깅 할 수 있으며, 난독 화되지 않은 코드의 경우 매우 간단하고 효율적입니다.

+0

그는 소스 코드를 가지고있다. –

+0

@ 한스 반드시 라이브러리의 솔루션에 액세스 할 수는 있지만 분명히 주요 앱에서 참조 할 수 있습니다. 이것을 고려해 볼 때 Reflector를 사용하여 라이브러리에 들어가서 디버거가 다른 솔루션의 소스 코드를 고려하도록하려면 실제로 다른 작업을해야합니다. –

관련 문제