문제

SqlConnection 클래스를 내부적으로 구성하고 사용하는 타사 라이브러리가 있습니다.클래스에서 상속할 수 있지만 과부하가 너무 많아서 지금까지 올바른 클래스를 찾을 수 없었습니다.내가 원하는 것은 사용되는 연결 문자열에 매개변수를 추가하는 것입니다.

.NET 라이브러리 코어 자체에 중단점을 넣을 수 있는 방법이 있습니까?특히 SqlConnection 클래스의 생성자에서 스택 추적을 보고 실제로 생성되는 위치를 확인할 수 있습니까?

그게 아니라면 제가 할 수 있는 다른 방법이 있나요?

구체적으로 내가 하고 싶은 일은 애플리케이션 이름 매개변수를 사용하면 연결을 확인할 때 서버에서 애플리케이션을 더 쉽게 식별할 수 있습니다.


편집하다:글쎄요, 도움이 더 필요한 것 같습니다.기호 서버 지원과 관련된 모든 것을 활성화한 것 같은데, 내가 구성한 디렉터리가 .pdb 파일이 포함된 디렉터리로 가득 차 있는 것을 발견했습니다.그래도 SqlConnection 클래스에 대한 실제 소스를 사용 가능하게 만들 수는 없습니다.

이를 성공적으로 수행하는 방법에 대한 확실한 지침이 있습니까?

도움이 되었습니까?

해결책

Microsoft가 제공한 .Net 프레임워크 소스 코드로 소스 수준 디버깅을 사용할 수 없는 경우 다른 디버거를 사용해 볼 수 있습니다.mdbg 또는 windbg와 같습니다.

편집하다

이것 .Net 프레임워크의 릴리스된 부분을 가져오는 방법과 중단점을 설정하는 방법을 매우 자세히 설명합니다.NetMassDownloader는 한 번의 다운로드로 모든 것(pdb 및 소스)을 제공합니다.그러나 .Net 프레임워크의 모든 소스 코드를 사용할 수 있는 것은 아닙니다.SqlConnection이 그렇지 않은 경우 언제든지 내가 언급한 것과 같은 IL 디버거를 사용할 수 있습니다.그리고 어쨌든 소스 코드를 살펴볼 수 있는 Lutz의 Reflector를 잊지 마세요.

다른 팁

당신은 할 수 있습니다 .NET 소스 코드 다운로드 .NET FW 소스 코드에서 바로 중단점을 설정할 수 있습니다.

당신이 사용할 수있는 NetMass다운로더 .NET 소스를 빠르게 가져옵니다.

이 기사에 따르면 .NET 프레임워크용 소스 코드를 다운로드한 다음 Visual Studio를 사용하여 디버깅할 수 있습니다.

http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code

나는 언급하는 것을 거의 잊었다 디블렉터 - 소스 코드 없이 거의 모든 .net 앱을 디버깅할 수 있는 Reflector 플러그인입니다. :)

소스 디버깅이 확실히 더 좋지만 원하는 기능에 bp를 설정하기 위해 VS 디버거에 대한 pdb 또는 소스가 필요하지 않습니다.

도구/옵션/디버거로 이동하여 "내 코드만"이라는 옵션을 끄십시오.프레임워크는 '귀하의 코드'가 아니기 때문에 디버거는 중단점을 설정하는 것을 막는 데 도움이 되지 않습니다.

다음으로 메타데이터에 나타나는 메서드의 전체 이름이 필요합니다.여기에는 중첩된 모든 네임스페이스가 포함됩니다.이름을 찾아야 한다면 ILDasm이나 Reflector를 추천합니다.

왼쪽 상단 모서리에 있는 중단점 창에는 "new bp" 메뉴 버튼이 있습니다.선택 사항 중 하나는 함수 이름에 bp를 설정하는 것입니다.대화 상자가 나타나면 프로젝트가 없으므로 intellisense에서 이름을 확인하도록 선택을 취소하세요.도움이 되었기를 바랍니다.

좋아요, 확실한 가이드를 원하신다면 여기 있습니다:

.NET Framework 소스 코드를 디버그하도록 Visual Studio 구성

도움이 필요하면 어떤 단계를 수행했는지 알려주세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top