Rio 님이 쓰신 글 :
: 안녕하세요
: 보드 콘트롤 프로그램 만들고있는데요
: 64비트 디버깅 할 때 황당한 경우가 발생하네요
:
: 상황을 재현할 수 있는 코드는 다음과 같습니다
:
:
: struct BOARD_DATA
: {
: double vLimit;
: int nBlocks;
: };
:
: BOARD_DATA BoardData[4];
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: for(int i = 0; i < 4; i++) {
: BoardData[i].vLimit = 127;
: BoardData[i].nBlocks = i; <==== 브레이크 걸어놓고
: }
: }
:
:
: BoardData[i].nBlocks 을 Ctrl + F5 눌러서 Watch List 에 추가한 후
: 브레이크 걸어놓고 Watch List를 보면 값이 정상적으로 표시되지 않고
: unknown error 로 나옵니다
:
: 32비트 디버깅 할 땐 정상인데 64비트 디버깅 할 땐 저와같은
: 황당한 에러가 뜨네요. 리오 10.3 사용하고요 해결방법 부탁합니다.
답변:
"BoardData[i].nBlocks"
Statement 요소가 복합되어 있을 때...
파싱을 제대로 처리하지 못하는
엠바 64비트 디버거의 Expression parsing 코드의 버그 입니다.
엠바에 Bug reporting 하세요.
|