Xamarin.ios를 사용 하는 소스 링크Source Link with Xamarin.Forms

Xamarin Forms NuGet 패키지는 소스 링크 매핑을 포함 합니다.Xamarin.Forms NuGet packages include Source Link mappings. 소스 링크는 NuGet 패키지에 포함 된 컴파일된 라이브러리를 소스 코드 리포지토리에 매핑합니다.Source Link maps compiled libraries, contained in a NuGet package, to a source code repository. Visual Studio는 디버깅 하는 동안 소스 코드 파일을 다운로드 하 고 개발자가 소스에서 빌드하지 않고 패키지를 디버그할 수 있도록 하는 코드를 단계별로 실행할 수 있도록 합니다.Visual Studio will download source code files during debugging and allow developers to step through code, enabling debugging of packages without building from source.

소스 링크를 사용 하는 방법에 대 한 자세한 내용은 소스 링크 설명서를 참조 하세요.For more information about using Source Link, see Source Link Documentation.

경고

Visual Studio 2019은 .net 디버거의 소스 링크를 지원 하지만 현재 Mono 디버거의소스 링크를 지원 하지 않습니다.Visual Studio 2019 supports Source Link for the .NET debugger but does not currently support Source Link for the Mono debugger. 따라서 소스 링크를 사용 하 여 UWP 앱을 디버그할 수 있지만 Android 또는 iOS 앱은 디버그할 수 없습니다.Therefore, you can use Source Link to debug UWP apps, but not Android or iOS app. UWP 앱을 디버그할 때 디버깅 하려는 라이브러리의 PDB 파일이 응용 프로그램이 컴파일되는 bin 디렉터리의 AppX 폴더에 복사 되었는지 확인 해야 합니다.When debugging UWP apps you must ensure that the PDB files for libraries you want to debug are copied to the AppX folder in the bin directory where your app is compiled.

소스 링크를 사용 하려면 외부 코드에 대해 디버깅을 사용 하도록 설정 해야 합니다. 그렇지 않으면 디버거가 현재 솔루션에 포함 되지 않은 코드에 대 한 이전 호출을 실행 합니다.Using Source Link requires enabling debugging for external code, otherwise the debugger will step past calls to code not contained in the current solution. Visual Studio 2019에서이는 디버깅 섹션의 옵션 메뉴에서 찾을 수 있습니다.In Visual Studio 2019 this can be found under the Options menu in the Debugging section:

Visual Studio 2019의 Enable 소스 링크Enable Source Link in Visual Studio 2019

내 코드만 사용 이 사용 하지 않도록 설정 되어 있고 소스 링크 지원 사용 이 설정 되어 있는지 확인 합니다.Ensure that Enable just my code is disabled and that Enable Source Link support is enabled.

소스 링크를 사용 하려면 외부 코드에 대해 디버깅을 사용 하도록 설정 해야 합니다. 그렇지 않으면 디버거가 현재 솔루션에 포함 되지 않은 코드에 대 한 이전 호출을 실행 합니다.Using Source Link requires enabling debugging for external code, otherwise the debugger will step past calls to code not contained in the current solution. 이 옵션은 디버거 섹션의 기본 설정 창에서 찾을 수 있습니다.This option can be found in the Preferences window in the Debugger section:

Mac용 Visual Studio의 Enable 원본 링크Enable Source Link in Visual Studio for Mac

외부 코드에 한 단계씩 코드 실행 을 사용 하도록 설정 했는지 확인 합니다.Ensure that Step into external code is enabled.

외부 패키지 디버깅이 사용 하도록 설정 된 경우 Visual Studio는 NuGet 패키지에 포함 된 소스 링크 매핑을 사용 하 여 외부 소스 코드를 다운로드 하 고 단계별로 실행 합니다.If debugging external packages is enabled, Visual Studio will use the Source Link mappings contained in the NuGet package to download and step through external source code. 이는 Xamarin.ios에서 제공 하는 메서드에 대 한 호출에 중단점을 설정 하 여 테스트할 수 있습니다.This can be tested by setting a breakpoint on a call to a method provided by Xamarin.Forms:

Xamarin.ios 메서드에 set BreakpointBreakpoint set on Xamarin.Forms method

디버거 옵션에서 지정한 설정에 따라 Visual Studio에서 소스 파일을 다운로드 하 고 있음을 경고 합니다.Depending on the settings you specified in the Debugger options, Visual Studio will warn you that it is downloading source files:

Visual Studio 외부 코드 경고Visual Studio external code warning

Visual Studio가 파일을 다운로드 하도록 허용 하면 디버거가 외부 코드를 한 단계씩 실행 합니다.Once you allow Visual Studio to download the files, the debugger will step into the external code.

소스 링크는 성능을 위해 캐싱을 사용 합니다.Source Link uses caching for performance. 소스에 대 한 캐싱 디렉터리 링크는 기호 섹션에서 디버깅옵션 메뉴에서 정의 됩니다.The caching directory for Source link is defined in the Options menu under Debugging in the Symbols section:

Visual Studio 소스 링크 캐싱Visual Studio Source Link caching

이 메뉴를 사용 하 여 모든 디버그 기호에 대 한 캐싱 디렉터리를 지정 하 고 캐시 된 기호와 관련 된 문제가 발생 하는 경우 캐시를 지울 수 있습니다.This menu allows you to specify the caching directory for all debug symbols, as well as clear the cache if you encounter issues with cached symbols.

소스 링크는 성능을 위해 캐싱을 사용 합니다.Source Link uses caching for performance. MacOS의 소스 링크에 대 한 캐싱 디렉터리가 /Users/<username>/Library/Caches/VisualStudio/8.0/Symbols 되었습니다.The caching directory for Source Link on MacOS is /Users/<username>/Library/Caches/VisualStudio/8.0/Symbols. 이 폴더에는 원본 파일을 다운로드 하는 데 사용 된 리포지토리가 저장 된 하위 폴더가 포함 되어 있습니다.This folder contains subfolders that store the repository used to download source files. NuGet 패키지에 대 한 백업 리포지토리가 변경 된 경우 캐시를 새로 고치려면 이러한 폴더를 수동으로 삭제 해야 할 수 있습니다.If the backing repository for a NuGet package has changed, you may need to manually delete these folders to refresh the cache.