2008년 11월 3일 월요일

Virtual Machine-Based Replay Debugging 가상머신을 통해 프로그램실행을 녹화하고 재생해가며 디버깅하는 데모

http://kr.youtube.com/watch?v=RvMlihjqlhY


  • google techtalks 에 잼나는게 보이길래 구경해봤다. 끝까지 본건 아니고 대략 40분정도만 시청. 뭐 별내용은 없으니. 거기에 양키말 듣는척하는건 정말 스트레스.
  • 간단히 정리하면 프로그램이 돌아가는 꼴을 vmware 가 죄다 recording 을 하고(물론 모든 이벤트/상태들을 기록하는 무식한 방법이 아니고 input 이나 인터럽트 등 쌩뚱맞은 것들만 기록) 이 기록을 replay 해가면서 디버깅을 한다는것. 데모가 포함된 영상이니 꽤나 볼만하다. 만약 다시 봐야 한다면 대략 21:00 부터 보자.
  • 버그가 일어난 상황을 개발자가 만들어내는게 아니고 테스터가 만들어내서 그 상황을 개발자에게 패스해주는게 아주 맘에 드네. 뭐 그다지 새로운 아이디어라곤 생각되지 않지만 구현되서 돌아가는건 처음보는것 같다. 물론 아직은 이렇게 활용할 단계는 아니고 더 잘만들어진다면 정말 이런식으로 테스터들을 굴리는게 가능해질날이 올듯.
  • 뭐 굳이 테스터가 상황을 만드는게 아니더라도.. 개발자가 이짓을 하더라도 의미가 있지. 어떤 프로그램이 여러개의 다른 리모트 머신이나 프로세스와 상호작용을 할때 디버깅 환경을 맟추려면 혼자선 힘든 경우가 있는데(최악의경우 관련자 여려명이 한명 디버깅을 돕기위해서 시간을 버리는 경우도 있고) 이때 근사하게 하나 레코딩해서 디버거로 혼자 곱씹을수 있다면 정말 좋겠지.
  • 거꾸로 실행을 해볼수도 있다. reverse continue 라고 표현을 하면서 브레이크걸고 거꾸로 돌리는걸 데모에서 보여주는데 잘쓰면 편리할듯.

  • 나에게있어서의 실용성은 좀 의문이 드는데.. 적어도 몇년안에 내가 이걸 다시 관심가질 일은 없어보인다. 회사를 옮기지 않는한.
  • gdb 메인테이너가 참여해서 듣고있던데 gdb 가 이기능을 지원해줄지 모르겠네. visual studio 쪽에서만 지원하면 나한테는 일단 비호감.

댓글 없음: