이맥스에서 비쥬얼스튜디오 프로젝트(VS2003, VS2005, VS2008등...)를
브레이크 포인트 걸어서 실시간 디버깅하는 방법을 알고 싶습니다.
컴파일하는 것까지는 찾았는데 실시간 디버깅하는 것은 찾지 못했습니다.
이것만 알면 완전히 이맥스로 넘어올수 있을것 같습니다.
도움좀 부탁합니다.
[완료]이맥스(emacs), 비쥬얼 스튜디오 디버깅 질문입니다.
글쓴이: withtw 작성 일시: 토, 2009/02/21 - 8:49오전


cdb
msvc 로 빌드한놈은 msvc 로 디버깅하는게 제일 편합니다.
그외 ms 에서 내놓은 디버거들이 몇개 있는데 그중에 cdb 를 쓰면 emacs 와 연동이 가능하긴 하지만
아무래도 gdb 쓰는것처럼 시원하게 쓰기는 힘들더군요.
emacs+cdb 는 http://www.emacswiki.org/emacs/cdb-gud.el 참고하시면 되겠습니다.
다른 방법을 찾았습니다.
비쥬얼스튜디오의 환경을 이맥스에서 똑같이 구현하는 것은 불가능해 보이네요.
천만다행으로 다른 방법을 구현해 놓은 사이트를 찾았습니다.
이 방법의 장점은 아래와 같습니다.
- 이맥스와 비쥬얼스튜디오간의 단축키(F3 또는 M-`)를 이용한 편리한 전환(현재 파일의 현재 라인으로)
- 이맥스에서 단축키(F9)를 이용해 브레이크 포인터 지정이 가능
- 이맥스에서 단축키(F5)를 이용해 디버깅 시작이 가능(비쥬얼스튜디오로 자동전환)
아래에 내용을 정리했습니다. 개인적인 보관용으로 작성한 것이라 반말투입니다.
아래 사이트에 소스도 같이 공개되어 있으니 찬찬히 분석해서 수정하면 원하는 기능을 더 넣을수도 있겠네요.
ECB등과 같이 사용하면 완벽할것 같습니다.
비슷한 기능을 하는 VisEmacs도 있습니다만 이것은 비쥬얼스튜디오에서 이맥스로의 이동만 가능하고,
자동으로 설정해두면 무조건 이맥스로 전환되버리니 오히려 불편하더군요.
-----------------------------------------------------------------------------
해당 비쥬얼스튜디오 버전 = VS2003, VS2005, VS2008(VS2005만 실제로 해봤다.)
사이트 주소 = http://tulrich.com/geekstuff/
(위 사이트에서 "Visual Studio .NET sanity" 부분에서 "DevEnvCommand.exe", "devenv-tricks.el" 두 파일을 다운받는다.)
<< 이맥스에서 >>
1. "DevEnvCommand.exe" 파일을 윈도우즈 시스템 폴더나 PATH가 걸려있는 폴더에 복사한다.
2. "devenv-tricks.el" 파일을 "~/.emacs.d" 폴더로 복사한다.
3. ".emacs" 파일에 아래 코드를 추가한다.
(load "~/.emacs.d/devenv-tricks.el")
참고: 원래 파일에는 비쥬얼스튜디오로 현재파일을 전환하는
단축키가 F3으로 되어 있는데 아무래도 불편하여 "M-`"키로
바꾸어 사용하고 있다. 원래 "M-`"키는 Emacs의 메뉴항목을
미니버퍼에 표시해주는 기능인데 자주사용하지 않으므로 여기서
대신 써버리기로 한다. "devenv-tricks.el" 파일을 열어서
"F3"으로 지정하는 부분을 아래코드로 바꿔주면 된다.
;; (global-set-key [f3] 'switch-to-devenv) // F3대신
(global-set-key "\M-`" 'switch-to-devenv) // M-`로 바꾼다.
<< 비쥬얼스튜디오에서 >>
1. 외부도구로 Emacs를 등록한다.
가. "도구->외부도구" 메뉴를 선택한다.
나. "추가" 버튼을 클릭하고 각 란에 아래와 같이 입력한다.
- 제목 = emacs
- 명령 = C:\Program Files\Emacs\emacs\bin\emacsclientw.exe
- 인수 = -n +$(CurLine) $(ItemPath)
다. "확인"버튼을 눌러 저장한다.
2. 외부도구로 등록한 Emacs에 단축키를 할당한다.
가. "도구->옵션" 메뉴를 선택한다.
나. "환경->키보드" 트리를 선택한다.
다. "다음 문자열을 포함하는 명령 표시(C)"에 "외부"를 입력하고
라. "도구.외부명령?"에 단축키를 할당한다.("?"는 메뉴에 표시되는 순서를 나타내는 번호)
(여기 단축키도 "M-`"로 설정한다.)
* 이맥스에서 비쥬얼스튜디오로 전환할 때는 비쥬얼스튜디오가 실행되어 있어야 한다.
컴파일은
혹시 몰라서 컴파일에 대한 내용도 달아놓습니다.
컴파일은 아래의 링크를 참고하시면 되겠습니다.
http://www.emacswiki.org/cgi-bin/wiki/CompileCommandForDotNet
(현재 코딩중인 파일이 속하는 프로젝트를 자동으로 찾아서 컴파일하도록 하는
소스를 다른분이 해놓은걸 찾긴 했습니다만, lisp언어의 지식이 부족하고
시간도 부족하여 사용하지 못하고 있네요. 정리되면 업데이트 할까 합니다.)
오 이 방법을 한번 해봐야 겠습니다.
VS2005 Emacs key map 사용중이지만 그래도 Emacs의 에디터 기능은 항상 아쉽더군요
이방법으로 코딩은 Emacs에서 실행, 디버깅 등은 VS에서 가능해지겠군요
감사합니다.
잘 가야지.
vs2010 에서도 잘 동작하네요
vs2010 professional 에서 사용하고 있는데 잘 동작 합니다.
emacs로 윈도우에서 VS없이 C/C++ 커맨드라인 컴파일 하기
http://www.emacswiki.org/emacs/MSVisualStudio
이맥스 위키에 잘 정리되어 있군요
댓글 쓰기