Visual Studio - 닷넷 소스코드 디컴파일 찾기가 안 될 때
예를 들어, 이런 예제에서,
using System;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
Console.ReadLine();
}
}
}
Console.ReadLine에 BP를 잡고 F11 키를 눌러 디버깅 진입을 시도하려는 경우 "
Enable Just My Code" 옵션을 껐는데도 다음과 같이 소스코드를 찾지 못해 "Find Source"창이 뜨는 경우가 있습니다.
위의 창에서 "Cancel" 버튼을 누르면, 아래와 같이 "Console.cs not found"로 이어지는데요,
You need to find Console.cs to view the source for the current call stack frame
Options
Locate Console.cs manually
View disassembly
아마도 버그일 테고 언젠가는 고쳐지겠지만, 현재로서는 어쩔 수 없습니다. ^^ 수작업으로 직접 매핑해야 합니다.
매핑 방법은 간단한데요, 디버깅 중인 상태에서 "솔루션 탐색기"의 "External Sources"를 펼쳐 들어가,
대상 소스코드 파일, 이번 글의 예제에서는 Console.cs 파일을 더블 클릭하면 됩니다. 이후 F11 키를 누르면 연결이 됩니다. 하지만, 이후 또다시 디버깅 세션을 진행하면 F11 진입 시 엉뚱한 소스코드로 이동할 수 있는데, 이런 경우에는 위의 과정을 반복해야 합니다. 즉, 이미 찾은 Console.cs 파일을 닫고 (또는 지우고) "External Sources"에서 다시 찾아 들어가 파일을 오픈하는 식이어야 합니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]