디버거 버그(?)

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

디버거 버그(?)

Post by 비회원 »

비쥬얼 스튜디오 닷넷 2008 디버거로 디버깅 도중에 이상한 상황을 겪었습니다.

특정 코드에 브레이크 포인터를 걸고, 트레이싱을 하려고 했는데, 실행시에 포인터에서 멈추지 않는 겁니다.

그렇다면 그 후에 루틴이 실행되지 않아야 하는데, 루틴은 정상적으로 작동합니다.

단지 브레이크만 걸리지 않을 뿐이에요.

당연히 디버그 심볼파일의 불일치나 기타 프로젝트 파일의 이상을 의심해서 모두 새로 만들고

리빌드를 해보아도 마찬가지 입니다.

그 코드 전후에 새로운 코드를 끼워넣으면 그 각각의 코드에서는 정상적으로 멈추고요, 각종 값들도 정상적입니다.

해당되는 부분만은 브레이크 포인트가 걸리지 않네요.

작성한 프로그램도 잘 작동되고 문제는 없지 싶은데 괜히 찜찜하네요

혹시 이런 현상 겪으신 분 계신가요?
비회원

실행 환경이 디버그로 안되어 있을 확률이 100% 입니다.

Post by 비회원 »

툴바에 WIN32 / DEBUG / RUN 선택하는 부분 잘 확인하세요
비회원

Post by 비회원 »

디버그 모드라도 몇몇 디버그 옵션을 끄시거나 최적화를 한 경우 코드가 임의로 바뀌므로 저런 일이 있을 수 있습니다. 프로젝트 옵션 확인해보세요.
블루
Posts: 80
Joined: 2007-10-04 10:56

Post by 블루 »

더 이상한 현상도 많지만.. 대부분 VS 다시 시작하거나 OS부팅까지 하면 되더군요..
최악의 경우는 VS재설치까지 해야 되는 경우도 있지만요 ㅡ.ㅡ;
비회원

2008은 어떻게 바뀐지 모르겠지만

Post by 비회원 »

저도 종~종 그런경우 생기던데

2005에선 자동생성되는 환경 및 인텔리 관련 파일들 (aps,ncb,suo) 삭제하고

혹시 릴리즈는 아닌지 확인하고 리빌드 하고 재부팅하고 해보면 되더군요..;;

무식해서 이것저것 다해보네요 ㅎㅎ;
masque
Posts: 829
Joined: 2005-03-14 15:29

Post by masque »

문자코드의 문제인데, 유니코드가 섞이면 문제가 발생하는듯 하더군요.
다른분들처럼 유니코드로 바꾸고 해봤는데, 복잡하기만 하고 안될때가 많아서

제가 사용하는 제일 편한 방법은 메모장에 복사해넣고,
저장한후 다시 그 txt를 불러서 메모장의 내용을
VS2008의 해당 cpp에 복사하는것입니다.

이과정으로 얻을수있는것은 어떤 과정으로 섞인
다른 문자코드를 메모장필터링(?)으로
없애 버리는거죠
Locked