2008-10-29 2 views
2

큰 문제. 내가 한 일이 무엇인지 모르겠지만 더 이상 기능을 디버깅 할 수없는 것 같습니다.Help! Visual Studio 2008은 디버깅 중에 단계적 실행을 멈췄습니다.

코드 전체에서 특정 장소에서 발생하지 않습니다. 중단 점을 설정 한 후 다음 단계 코드로 이동하기 위해 "단계별 실행"을 시도합니다. 이제 디버거는이를 "계속"이라고 해석합니다.

더 좋음! 그 직후에 중단 점을 설정하면 디버거가 중단 점을 무시하고 계속됩니다.

이 문제의 원인은 무엇입니까? 디버깅은이 시점에서 나에게 거의 쓸모 없게되었다. 나는 이것이 재앙적인 실패라고 생각할 것이다.

프로젝트를 완전히 삭제하고 소스에 동기화 했으므로 로컬 사용자 구성 문제가 아닙니다. 디버거 옵션 (옵션 -> 디버거)을 확인했는데 이상한 점이 없습니다.

도움이 되시면 ...

편집 : 수줍음이 아래의 답변은 정확하지 않습니다. 나는 모든 것을 정확하게하고있다.

+0

이 특정 프로젝트에만 해당되는 경우입니까? 새로운 테스트 프로젝트에서 이것을 시험해 볼 수 있습니까? –

+0

새 Windows 양식 응용 프로그램을 만들고 Application.EnableVisualStyles에 중단 점을 설정하면 단계별로 수행 할 수 있습니다. – mmr

답변

0

아! 나는 그것을 알아!

이것은 Visual Studio의 버그 일 수 있습니다이 또는 아닐 수도 있습니다.

0부터 5까지의 사례 열거가 있다고 가정 해 보겠습니다. 그런 다음 열거 형을 키로 사용하고 다른 정수를 값으로 사용하는 사전이 있다고 가정합니다. 그런 다음 드롭 다운의 내용으로 사전에 가능한 모든 값이있는 콤보 상자가있는 경우 적절한 인덱스를 선택하면 열거 형에 정수를 다시 캐스트 할 수 없습니다. 예를 들어, 사전의 열거 형에 요소 4와 5가있는 경우 Keys 컬렉션을 사용하여 드롭 다운 목록을 만들고 combobox.selectedIndex 속성을 얻으면 결과는 0 또는 1입니다. 사전에 추가되므로 예외가 발생합니다.

그래서 버그를 발견했습니다. 그러나 사전을 사용하는 대신 내용 (열거 형, 정수)을 포함하는 개체 목록을 사용하면 잘못 캐스팅 된 열거 형을 찾을 수 없지만 코드는 계속 이동합니다. 예외를 던지기보다는 (어느 것이 던져 져야하는지 잘 모르겠다), IDE가 스스로 밟은 것처럼 보입니다.

위의 사전 버전을 구현할 때 예외가 발생하고 일단 수정되면 다시 디버깅 할 수 있습니다.

2

꽤 많은 가능성
- 디버그 기호가없는 대신 디버그에서 릴리스에서 귀하의 컴파일 - 당신이
를 컴파일중인 구성을 확인하십시오 - 당신은 디버그 기호가없는 다른 이유 - 설정을 확인
- 실행중인 2 진 버전이 컴파일중인 것과 동일하지 않습니다. 실행중인 실행 파일을 확인하십시오.

+0

기호가있는 디버그 상태입니다. 디버그 상수, TRACE on, 최적화 해제, 안전하지 않은 코드 해제. 작업 디렉토리는 디버그 빌드 대상과 동일합니다. – mmr

관련 문제