[c#] .NET 소스 코드 디버깅을위한 .cs 파일을 찾을 수 없습니다.

MDSN 연습 에 따라 .NET 소스 디버깅 설정을 시도했습니다 . ‘.NET Framework 소스 스테핑 사용’체크와 마찬가지로 기호 캐시가 올바르게 설정되었습니다.

그러나 이후에 .NET 코드로 들어 가려고 할 때마다 관련 cs 파일의 위치를 ​​지정하라는 메시지가 표시됩니다. 오류 메시지는
You need to find <filename>.cs to view the source for the current call stack frameThe debugger could not locate the source file <filename>.cs입니다.

나는 파일을 찾거나 (내가 가지고 있지 않음) 분해를 보도록 제안 받았다 (하지만 나는 그것을 원하지 않는다).

.NET 소스 코드로 들어가는 방법?



답변

글쎄, 제 경우에는 .Net 프레임 워크를 디버깅하려고하지 않았지만 동일한 오류가 발생했습니다. Cannot find .cs files for debugging .NET source code . 따라서 도구-> 옵션-> 디버깅-> 일반-> 내 코드 만 활성화에서 “내 코드 만 활성화”옵션을
설정해야했습니다.

MS 문서 당 :

시스템, 프레임 워크 및 기타 비 사용자 호출을 자동으로 건너 뛰고 호출 스택 창에서 해당 호출을 축소하도록 Visual Studio를 구성 할 수 있습니다.

https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code


답변

확인 Tools-> Options-> Debugging-> General-> Enable source server support신비하게 모든 것이 작동했습니다. 너에게도 그랬 으면 좋겠어


답변

이것도 한 시간이 걸렸습니다. 설정-> 도구-> 설정 가져 오기 및 내보내기-> 모든 설정 재설정을 재설정하여 마지막으로 수정했습니다.


답변

여기에있는 답변은 모두 소스 코드에 실제로 들어가는 대신 무시 / 피하는 것에 대해 이야기합니다.

@JBSnorro올바른 방향으로 가고 있지만 문제는 Microsoft가 발생할 수있는 모든 .NET 기호 / 소스를 게시하지 않는 것 같습니다. 나는 그것이 그들의 부분에서 의도적 인 것인지는 모르지만 MS 소스에 들어가기 위해서는 큰 물류 작업 인 모든 어셈블리의 모든 버전을 게시해야합니다.

Tools-> Options-> Debugging-> General-> Enable source server support많은 경우에서 작동하지만 예 mscorlib.dll를 들어 4.6.1의 경우 기호 및 / 또는 디 컴파일 된 소스가 없다는 것을 알았습니다 . 그래서 내가 좋아하는 공통 소스 코드를 한 단계 씩 수없는 Dictionary.csTask.cs로서는, 예를 들면. MS 심볼 서버의 소스 및 심볼은 항상 변경 될 수 있기 때문에. 이 글을 읽을 때 내 문제가 해결 될 수 있습니까?

Jetbrain의 Rider에서 동일한 솔루션을 디버깅하면 모든 .NET 어셈블리의 모든 클래스를 문제없이보고 단계별로 확인할 수 있습니다. 그러나 VS에서는 일부 클래스에만 들어갈 수 있지만 다른 클래스에는 들어갈 수 없습니까?

정말로 모든 .NET 소스 코드에 들어가기로 결심했다면 Jetbrain의 DotPeek를 사용하고 .NET 어셈블리를 디스크에 실제 .cs 파일로 디 컴파일 할 수 있습니다. 그럼 이걸 보면

소스 코드를 찾을 수없는 예

이제 DotPeek를 사용하여 디 컴파일 한 소스 코드로 디스크를 탐색 할 수 있습니다. 프로젝트에서 참조하는 것과 동일한 어셈블리 버전을 디 컴파일했는지 확인하십시오. 그렇지 않은 경우 기호가 올바른 소스 행 번호와 일치하지 않을 수 있습니다.

대신이 “소스를 찾을 수 없음”이 지속적으로 나타나는 것을 숨기고 소스가없는 코드를 입력하지 않으려면 @Alex Sherman의 답변을 읽으십시오 . 문제가되는 파일이 어떤 어셈블리에 포함되어 있는지 파악한 다음 해당 어셈블리 이름을 제외 목록에 추가해야합니다.

생각할만한 음식, 나는 Rider over VS의 팬이 아닙니다. Rider는 여전히 터치 원시이며 VS에 내장 된 도구가 부족합니다. 하나!! 나는 잡초에 더 깊이 들어갈 수 있다는 것을 알고있는 이런 경우에 나란히 설치하는 것을 좋아합니다.


답변

빌드가 문제를 해결하기 전에 솔루션을 청소 하십시오.

탐색하고 클릭하십시오.

  1. Build-> Clean Solution.
  2. Build-> Build Solution (Ctrl + Shift + B).


답변

나는 위에서 모든 답변을 시도했지만 아무것도 작동하지 않았습니다.

이것은 나를 위해 해결했습니다.

Debug -> Delete all Breakpoints

그리고 그것은 문제를 해결했습니다! 이 문제를 일으키는 여러 가지 요인이 있습니다.


답변

같은 문제가 있었지만 위에서 제안한 솔루션 모두 문제 해결에 도움이되지 않았습니다. VS 2017에서 발생했습니다. Visual Studio 2019에서 프로젝트를 실행했을 때 모든 것이 작동했습니다. 따라서 다른 환경에서 실행 해보십시오. 이 답변이 누군가를 도울 수 있기를 바랍니다.