2012-06-21 8 views
4

디버깅 할 수있는 WCF 서비스가 있습니다. 내가 디버깅과 내가 지금 3 일이 고민 된 메시지모듈이 모듈 목록에없는 이유는 무엇입니까?

The breakpoint will not currently be hit. The source code is different from the original version. 

을 얻으려면 내가 다른 게시물에서 발견 한 모든 것을 시도하는 지점에서 코드에서 중단 점을 넣어.

내가주의하는 것 중 하나는 디버그 -> Windows -> 모듈으로 이동하면 해당 목록에 디버그하려는 모듈이 없다는 것입니다. 나는 이것이 이것과 관련이있을 것이라고 생각한다. 누구든지 내가 뭘해야하는지 알지?

감사합니다,

Sachin

편집 : 나는 모든 것들과 더 많은 시도

하지만 어떤 이유로 나는 여전히 같은 문제가 있습니다. 이것에 대한 해결책이 전혀 없습니까?

+0

dll (컴퓨터의 다른 위치에서는 검색 할 수 없음)을 모두 지우고 솔루션을 지우고 빌드 할 수 있습니까? – eyossi

+0

여기를 참조하십시오 : http : // stackoverflow.com/questions/2468852/the-breakpoint-will-not-hit-the-source-code-is-the-the-the-the- – CSharpened

+0

이미 @eyossi를 시도했습니다 –

답변

1

이 오류는 컴파일 된 서비스가 소스 코드와 일치하지 않는다는 것을 의미합니다. 즉, 서비스 실행 이후 소스 코드가 변경되었습니다. 솔루션을 다시 빌드하십시오.

WCF 서비스를 디버깅하려면 Visual Studio 인스턴스 2 개가 있어야합니다. 하나는 WCF 서비스 호스팅 응용 프로그램 (콘솔)을 실행하고 다른 하나는 클라이언트를 실행합니다. 디버그 버전을 실행하고 있는지 확인하십시오. 그것은 클라이언트가 성공적으로 서비스에 연결할 수있는 한 잘 작동하고 디버깅 할 수 있습니다.

당신은

중단 점을 현재 히트되지 않습니다 얻을.

해당 중단 점이있는 모듈이로드되지 않은 경우 (아직). 클라이언트가 연결될 때까지 서비스가로드되지 않습니다.

+0

또한 동일한 솔루션에서 두 프로젝트를 모두 사용할 수 있습니다. 이 방법으로 두 개의 Visual Studio 인스턴스를 실행할 필요가 없습니다. 솔루션을 마우스 오른쪽 단추로 클릭하고 기존 프로젝트를 추가 할 수 있습니다. – alexandrudicu

+0

그렇게 쉽게 작업 할 수 있습니다. 하나의 인스턴스에서 모든 것을 중지 할 수 있습니다 (Shift-F5). 다른 파트를 중지 할 염려는 없습니다. 보다 쉬운 디버깅이란 작업 속도가 빠르고 오류가 적음을 의미합니다. –

1

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 치료를 선택하십시오. 새 버전의 프로젝트를 빌드하면 중단 점이 다시 작동합니다. 이 방법이 작동하지 않으면 bin 폴더와 obj 폴더에서 모든 것을 삭제하고 프로젝트를 다시 빌드하십시오.

3

열려있는 파일을 닫은 후에 Visual Studio를 닫아보십시오. 그런 다음 디버그를 위해 bin 폴더로 이동하여 모든 .pdb 파일을 삭제하십시오. 이제 Visual Studio를 다시 열고 프로젝트를 다시 빌드하거나 클린 빌드하고 빌드 모드를 해제하고 디버그 모드에 있는지 확인하십시오. 이 문제는 pdb 파일이 잠길 때 발생할 수 있습니다. 해당 DLL에 대한 pdb 파일이 있으면 디버깅을 위해 해당 모듈을 선택해야합니다.

그런 경우 컴퓨터를 다시 시작 했습니까? 가끔 재부팅을 시도하지 않으면 프로세스가 Windows에서 실행될 수 있으며 다시 시작하면 잠금을 해제하여 파일을 덮어 씁니다.

빠른 질문. 문제의 모듈이 외부 모듈입니까 아니면 디버깅중인 현재 솔루션의 일부입니까? 내부 모듈 인 경우 위의 솔루션은 해당 어셈블리에 대해 새 .pdb 파일을 생성 할 때 확실히 작동해야합니다.

관련 문제