게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

5-2 debug 팁..?

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
유진선14



가입: 2018년 9월 11일
올린 글: 18

올리기올려짐: 2018년11월9일 15:58    주제: 5-2 debug 팁..? 인용과 함께 답변

조교님께서 올려주신 테스트케이스를 시험하던 중
'이걸 5-1 때처럼 debug 할 수 있으면 좋을 것 같다!'는 생각이 들어
(현재 올려주신걸 그대로 덮어쓰면 -debug에 아무 반응이 없습니다)
main.ml을 살짝 고쳤는데,
분명히 저보다 더 좋은 방법이 있을 것 같아
일단 제 방법을 먼저 공유드립니다!
(작게나마 도움이 되었으면 좋겠다는 마음에...)

1. open Sm5.Sm5를 open Sm5 위에 추가한다
코드:
open Translate
open Pp
open Sm5.Sm5
open Sm5
open K


2. gc_test.ml 중 let_ = run cmds1 전까지를 전부 복사해서 let main() 위에 붙여넣는다
코드:

(중략)
let append (n: int) (중략)
(*1. Simple malloc & use...*)
(중략)
cmds @ [PUSH (ID "x0"); PUSH (Val (Z 10)); ADD; LOAD; PUT]

let main() =
(중략)


3. let lexbuf 부터 마지막 else 까지 지우고, in 뒤에 실행코드를 넣는다
코드:
      ("Usage: " ^ filename ^ " [-pk | -psm5 | -k] [-gc] [-debug] [file]")
  in
run cmds1;
print_endline (string_of_bool (check_exception cmds2))

    (*
    let lexbuf = Lexing.from_channel (if !src = "" then stdin else open_in !src) in
    let pgm = Parser.program Lexer.start lexbuf in
     
    if !pk then
      KParseTreePrinter.print pgm
    else if !psm5 then
      print_endline (Sm5.command_to_str "" (Translator.trans pgm))
    else if !k then
      ignore (K.run pgm)
    else
      Sm5.run (Translator.trans pgm)*)


4. 테스트코드의 126,127,128을 각각 2,3,4 로 바꾸고
sm5.ml 의 mem_limit 을 4로 바꾼다
(그냥 디버그를 실행하면 개수가 너무 많아지므로 개수를 줄인 것입니다.
반드시 제출하시기 전에 mem_limit을 128로 돌려놓으셔야 합니다)

사실 맘같아선 파일을 올리고 싶은데, 그 방법이 안보이네요 ㅠㅠ

debug한번 돌리면 테스트케이스랑 gc의 감을 잡는데 많은 도움이 될거 같습니다!(적어도 저는 그랬..어요)
거듭 강조하지만제출하시기 전에 mem_limit을 128로 돌려놓으셔야 합니다!!!!!!!!
위로
사용자 정보 보기 비밀 메시지 보내기
송호준



가입: 2018년 9월 21일
올린 글: 10

올리기올려짐: 2018년11월16일 17:26    주제: 감사인사 인용과 함께 답변

감사합니다.

Debug기능이 있으니 훨씬 과제가 수월했습니다.

덕분에 고생을 많이 줄였네요.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay