2

C#/Net 프로그램 디버깅에 중단 점을 사용합니다. 매우 자주 "When hit"중단 점을 사용하여 출력 창에 메시지를 표시하고 계속 진행하므로 프로그램 실행 중 수행중인 작업을 검사 할 수 있습니다.중단 점 이동 Visual Studio 2010

하지만 코드를 편집 한 후 브레이크 포인트가 이동하여 가짜 또는 잘못된 결과를 생성하고 이전 브레이크 포인트를 삭제하고 새 브레이크 포인트를 만들어야하는 경우가 종종 있습니다.

스택 오버플로에서 검색 릴리스 모드에서 빌드 할 때이 문제가있는 다른 프로그래머가 있지만 디버그 구성으로 구축하고 있습니다.

내 중단 점을 유지하는 방법은 무엇입니까?

+1

확실히 피할 수없는. 물론 Trace.WriteLine()을 사용하는 것이 더 좋은 방법입니다. –

+0

Trace.WriteLine()을 사용하려면 코드를 변경해야합니다. 디버거에서이 기능을 사용하지 않으면 Visual Studio에서 어떤 경우에도 내 중단 점을 이동하지 못하게하는 방법을 알고 있으면 유용합니다. – user316117

+0

이 동작을 일으키는 특정 코드를 수정하면 무엇이 있습니까? – theMayer

답변

5
  • 프로젝트의 다른 개발자와 .csproj.user, .suo ... 같은 파일을 "공유"하시겠습니까?

SCM을 사용하지 않을 경우이 파일은 다른 시스템에서 공유되지 않습니다. 소스가 약간 다른 다른 사용자에게 보내려면 이런 종류의 재밌는 혼란을 야기 할 수 있습니다. 여기에이 파일에 대한

추가 사항 : 수동으로 파일을 편집하는 경우 Best practices for Subversion and Visual Studio projects

  • 는 이런 종류의도 (예를 들어 ++ 메모장) VS의 외부 일어날 수 : 당신이 원하는 때를 피하려고 올바른 위치에 브레이크 포인트를 유지하면 VS는 전혀 마음에 들지 않습니다.
+0

좋은 지적입니다. – theMayer

+0

감사합니다. OP 문제를 설명 할 수있는 또 다른 사례를 추가했습니다. – AFract

+0

큰 이유가 아닌 다른 이유로 인해 제외되어야하며 프로그램을 열 때마다 변경해야합니다. 개정판을 관리 할 가치가 없습니다. – theMayer

1

프로그램 실행을 검사하는 방법은 여러 가지가 있습니다. 프로젝트에 대한 전체 디버그 정보를 생성하고 있는지 확인하십시오. 또한 csproj.user, .suo 파일이 읽기 전용으로 설정되어 있지 않은지 확인하십시오. 이 일이 해결되지 않으면

enter image description here

, 당신의 경우에 당신이 방법을 제공하는 일부 콘솔 기반의 출력을 사용하는 것이 좋습니다.

여기 콘솔은 VS.의 출력 창입니다이 하나

Console.WriteLine("Currently executing this..."); 

시도 'Show output from :'에서 Debug를 선택하십시오. 당신이 실행을 중지하려면 enter image description here

, 이것은 최종 제품으로 출시되지 않도록 당신은 당신의 코드의 조건부 컴파일을해야이 코드를

Console.WriteLine("Currently executing this..."); 
System.Diagnostics.Debugger.Break(); 

를 사용합니다. Console.WriteLine()은 문제가되지 않지만 System.Diagnostics.Debugger.Break()은 응용 프로그램을 중단시킵니다.

관련 문제