program tip

Visual Studio : 참조 된 DLL 디버깅, 다른 SLN에 소스가 있습니다.

radiobox 2020. 11. 21. 14:15
반응형

Visual Studio : 참조 된 DLL 디버깅, 다른 SLN에 소스가 있습니다.


추가 한 DLL에 대한 참조가있는 프로젝트를 디버깅하려고합니다. DLL은 외부 디렉터리에 저장되고 방금 참조를 추가했습니다. 이제는 물론 내 프로젝트를 디버깅 할 수 있지만 다른 dll에서 메서드를 호출하는 줄, 즉 F12에 들어갈 수 없습니다.

이 작업을 수행 할 수있는 한 가지 방법은 내 프로젝트 (dll)를 솔루션에 기존 프로젝트로 추가하고 참조 된 dll을 대체하여 디스크의 파일이 아닌 연결된 프로젝트를 사용하는 것입니다.

그러나 얼마나 엉망인지, 깨끗한 방법이 있다고 확신합니까?

일부 PDB 파일을 복사했는지 기억하는 것 같지만 기억이 나지 않습니다. 그리고 Visual Studio의 복사본 2 개 (주 프로젝트 용 1 개, 참조 된 DLL 용 1 개)를 열어야합니까?


자신의 컴퓨터에서 디버그 모드로 두 번째 솔루션을 다시 빌드합니다 (해당 PDB의 파일 경로가 컴퓨터에 고유하도록).

복사 모두 당신의 참조 폴더에 .DLL 및 .PDB 파일. Visual Studio는 .PDB 파일을 자동으로 선택하고 파일 경로를 사용하여 소스를 표시합니다.

참조 된 어셈블리가 http://msdn.microsoft.com/en-us/library/vstudio/ms241613.aspx에서 빌드 된 경우 Symbol Server 및 Source Server를 사용하여이를 수행 할 수도 있습니다 .


아래를 수행하여 해결책을 얻었습니다.

JMC (Just My Code)를 비활성화 해보십시오.

도구-> 옵션-> 디버거 "내 코드 만 활성화"를 선택 취소합니다.


나는 해결책을 청소하고 재 구축하여 해결 한 동일한 문제가 있었다. .pdb 파일의 참조를 수정하여 두 번째 프로젝트에서 중단 점을 찾아 적중합니다.


디버그 빌드를 수행하면 모든 dll 및 pdb 파일이 호스트 프로젝트에 설정됩니다. 따라서 파일을 수동으로 복사 할 필요가 없습니다.

솔루션을 마우스 오른쪽 버튼으로 클릭하고 Add / Existing Project ...를 선택합니다. Class lib 폴더로 이동하여 proj 파일 (예 : myproj.csproj)을 선택합니다. 파일은 복사되지 않고 참조 만되며 IDE에서 클래스의 소스를 열고 정상적인 방식으로 중단 점을 설정할 수 있으며 작동합니다.

참고 URL : https://stackoverflow.com/questions/16546703/visual-studio-debugging-a-referenced-dll-i-have-source-in-another-sln

반응형