2011-09-12 7 views
4

최근에 Nemerle과 F #을 발견했지만 응용 프로그램을 디버깅 할 수있는 방법을 찾지 못했습니다. MonoDevelop 2.6에는 최신 그놈 샤프한 lib가 설치되어 있기 때문에 Nemerle과 F #, 2.4.2 및 이전 버전의 충돌이 지원되지 않습니다 (최신 아치 리눅스 커널 3.0을 실행 중입니다). 커맨드 라인 모노 디버거는 "플랫폼이 지원되지 않습니다"라고 말하는 것을 거부합니다.Linux에서 F #/Nemerle 모노 응용 프로그램을 디버깅하는 방법은 무엇입니까?

그것은 낮은 수준에 가지 않고 GDB를 사용하여 디버그 모노 응용 프로그램 수 (VM 내부 정도) :이 상황에 대해 그래서 몇 가지 질문? (Common Lisp 또는 Haskell의 GHCi와 비교하여) 디버거없이 대화식으로 개발할 때 F # REPL을 얼마나 편안하게 사용할 수 있습니까?

답변

4

나는 대부분의 시간을 F # 코드를 작성하는 F # 대화 형 환경을 사용합니다. Visual Studio에서도 F # Interactive 환경은 디버거를 (합리적으로) 지원하지 않으므로 주로 대화 형으로 쉽게 실행하고 작동하는지 확인하는 기능에 의존합니다. 그렇지 않으면 보통 하위로 분할하기가 쉽습니다 - 대화식으로 시도 할 수있는 구성 요소. 예를 들어 GHCi와 비교되는 F # Interactive의 장점은 형식 선언을 포함하여 거의 모든 것을 평가하는 데 사용할 수 있다는 것입니다.

MonoDevelop 2.4의 F 번호 플러그인은 현재 컴파일 된 F 번호 응용 프로그램의 디버깅을 지원하지 않습니다. 나는 명령 행 모노 디버거 (mdb, 나는 생각한다)를 사용할 수 있었지만, 그것은 32 비트 시스템에서였다.

나는 MonoDevelop가 제대로 F 번호 디버그 기호를 선택하지 않는 이유를 모르겠어요, 그래서 이것은 대부분 몇 가지 기본적인 버그입니다. MD 2.6을위한 F # 플러그인 작업을하는 소수의 사람들이 있기 때문에 곧 사용할 수있게 될 것입니다. 디버깅이 작동하지 않는 이유를 조사하고 싶은 사람이 있다면 ...

+0

"F # Interactive environment"- fsi.exe를 의미합니까? –

+0

@argos - 예,'fsi.exe'를 말합니다. F # 플러그인이있는 Visual Studio 또는 MonoDevelop와 같은 IDE에서 도구 창으로도 사용할 수 있으므로 IDE의 파일에 코드를 작성하고 IDE에서 볼 수있는'fsi.exe' 프로세스에 코드를 보낼 수 있습니다 . 이것은 내가 보통 "F # Interactive Environment"라고 부르는 것이지만, 독립 실행 형 프로세스로'fsi.exe'도 실행할 수 있습니다. –

+0

가치있는 일이라면 잘 배치 된'prinfn' 명령문의 가치를 결코 과소 평가해서는 안됩니다. 또한 fseye (http://code.google.com/p/fseye) 옵션이있을 수 있지만 Mono로 시도하지 않았습니다. – pblasucci

3

Nemerle은 Visual Studio 및 #Develop가있는 Windows에서 훌륭한 IDE 지원을 제공하지만 Linux에는 아무 것도 없습니다. 내가 아는 한.

2

Linux 및 Nemerle 정보 : Nemerle은 Vim 바인딩을 사용하고 Kwrite/Kate와 다른 편집자는 Nemerle 지원을 제공합니다. Linux의 모든 편집기에 컴파일러 옵션을 추가 할 수도 있습니다. Nemerle 컴파일러가 작동합니다! 개발하지만 정말 느린에서

Nemerle MonoDevelop을 지원합니다. @Tomas가 말했듯이 F #은 구식 MonodeVelop 지원을 받았지만 새로운 MonoDevelop는 어떨까요? 파워 팩? F # 3? 그것은 내가 생각하는 복잡한 일이다.

Nemerle은 OpenSource 프로젝트입니다. 그리고 나는 F # 3에 대해 확신하지 못합니다. 저는 F #을 좋아하지만 항상 마이크로 소프트의 손안에 있습니다. 당신은 둘 다 자유롭게 시도 할 수 있습니다.

3

Nemerle을 MonoDevelop에서 쉽게 디버깅 할 수 있습니다. pdb2mdb 도구를 사용하여 pdb를 모노 형식으로 변환하면됩니다. http://www.mono-project.com/Guide:Debugger 응용 프로그램을 디버깅하는 것 이상으로 정확한 위치를 얻을 수 있습니다.

심지어이 트릭을 사용하여 Nemerle 컴파일러를 디버깅 할 수있었습니다.

+0

위대한 트릭입니다. 귀하의 대답을 읽기 전에 나는 pdb2mdb 도구에 대해 들어 본 적이 없었습니다. –

관련 문제