이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
안명환
가입: 2019년 10월 9일 올린 글: 2
|
올려짐: 2019년11월9일 13:24 주제: [HW6] GC 관련 질문이 있습니다. |
|
|
`malloc_with_gc` 부분을 충분히 구현했다고 생각하는데 테스트시 3번과 6번에서 에러가 발생합니다.
그런데 조금 이상한게, 테스트코드에서 MALLOC 을 256번 이하로 하는 것 같은데
에러 메시지에서는 384번째와 516번째 메모리를 참조할 수 없다고 합니다.
이 에러 메시지가 테스트에서 의도하는 바와 일치하는지 알고싶습니다.
그리고, `malloc_with_gc` 가 제대로 동작하는지 확인할 수 있는 방법이 있는지 알고싶습니다.
지금은 `main.ml` 과 `translate.ml` 을 고친 후 `./run -debug ./examples/test1.k-- > debug.txt` 식으로 확인하고있는데, 이렇게 하면 `gc`가 활성화되지 않아 막상 제일 중요한 `gc`가 어떻게 작동하고 있는지 확인할 수가 없습니다. |
|
위로 |
|
|
조민기
가입: 2015년 9월 6일 올린 글: 82
|
올려짐: 2019년11월10일 13:15 주제: |
|
|
올려드린 GC 예제에서 에러가 나와야 하는 테스트케이스는 없습니다. 전부 정상적으로 종료 혹은 GC_Failure exception이 나와야 합니다.
두번째로는 디버깅 모드에서 확인해볼 GC 예제를 물어보신 것 같은데,
올려드린 gc_test.ml 파일에서 위에 debug_mode를 true로 세팅하시는 코드를 넣으시면 각 단계의 기계 상태를 출력할 수 있습니다.
코드: |
let _ = gc_mode := true // 원래 있던 코드
let _ = debug_mode := true // 추가 된 코드
|
다만 올려드린 예제는 길이가 상당히 길어서 그대로 돌리시면 알아보기 힘든 결과가 나올 것입니다.
따라서 예제 1개에 대해서만, 메모리 제한과 예제의 사이즈를 아주 작게 바꾸시고 확인해보시는 걸 추천드립니다. |
|
위로 |
|
|
|