Re: Debug Console에서 Watch의 값/주소 표시 문제

22 views
Skip to first unread message

조교

unread,
Oct 23, 2012, 7:51:01 PM10/23/12
to l...@cs.kookmin.ac.kr
강인구 학생의 의견대로 LMC 1.3.4에서 수정된 내용이 적용되었습니다.

열심히 하는 모습이 보기 좋네요.

허대영.

2012년 10월 8일 월요일 오후 11시 23분 17초 UTC+9, 강인구 11 님의 말:
LMC-1.3.3.7버전에서 발견한 오류입니다.

LMC_ROOT/debugger/debugger.c 파일에서 WATCH() 전처리기 함수에서 메모리 주소 및 데이터를 출력하는 lmcprintf() 호출을 살펴보면 기본적으로 watch할 항목의 시작 주소와 데이터를 출력하는 아래 문장은 올바르게 동작합니다.
lmcprintf(W_CONSOLE,\
                          "%2d@%04d%04d|%04d\n", \
                          watchnum, \
                          address/MAX_BOX, \
                          address%MAX_BOX, \
                          MEM(address));\

그러나 2개 이상의 Box를 출력해야 할 경우를 처리하게 되는 다음 문장에서는 address와 value가 섞여 출력되는 문제가 있었습니다.

else \
                lmcprintf(W_CONSOLE, "   %04d%04d|%04d\n", address, MEM(address)); // 세 개의 인자가 필요함.


이 문장을 아래와 같이 고치어 정상적으로 출력됨을 확인하였습니다.

else \
                lmcprintf(W_CONSOLE, "   %04d%04d|%04d\n", \
                address/MAX_BOX, address%MAX_BOX, MEM(address));

이상입니다.


작성자 : 국민대학교 컴퓨터공학과 20113248 강인구
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages