如何在Linux下调试F#/ Nemerle单声道应用程序?

时间:2011-09-12 17:06:49

标签: linux debugging f# mono nemerle

我最近发现了Nemerle和F#,但我找不到任何方法来调试我的应用程序。 MonoDevelop 2.6缺乏对Nemerle和F#,2.4.2及更早版本崩溃的支持,因为安装了更新的gnome-sharp lib(我正在运行最新的Arch Linux kernel-3.0 64位)。命令行单声道调试器拒绝开始说“平台不受支持”。关于这种情况的问题很少:

可以使用gdb调试单声道应用程序而无需进入低级别(在vm左右)? 在没有调试器的情况下使用F#REPL进行交互式开发有多舒适(与Common Lisp或Haskell的GHCi相比)?

4 个答案:

答案 0 :(得分:4)

我使用F#Interactive环境在大多数时间编写F#代码。即使使用Visual Studio,F#Interactive环境也不(合理地)支持调试器,所以我主要依靠能够以交互方式轻松运行某些内容并查看它是否有效 - 如果不能,通常很容易分成子 - 可以交互式尝试的组件。与例如GHCi相比,F#Interactive的优点是你可以用它来评估几乎任何东西 - 包括类型声明。

MonoDevelop 2.4的F#插件目前不支持编译的F#应用程序的调试。我能够使用命令行Mono调试器(mdb,我认为),但那是在32位系统上。

我不确定为什么MonoDevelop没有正确选择F#调试符号,所以这很可能是一些基本错误。有一些人在为MD 2.6工作F#插件,所以希望很快就可以使用。如果有人想调查为什么调试不起作用,那就太棒了......

答案 1 :(得分:3)

Nemerle在Windows下使用Visual Studio和#Develop提供了很好的IDE支持,比F#更好,但据我所知,Linux没有任何内容。

答案 2 :(得分:3)

您可以在MonoDevelop中轻松调试Nemerle。 只需使用pdb2mdb工具将pdb转换为单色格式:http://www.mono-project.com/Guide:Debugger 不仅仅是调试你的应用程序,而且你得到了正确的位置。

我甚至设法使用这个技巧调试Nemerle编译器。

答案 3 :(得分:0)

关于Linux和Nemerle: Nemerle得到了Vim绑定,Kwrite / Kate和其他一些编辑得到了Nemerle的支持。您还可以向Linux中的任何编辑器添加编译器选项。 Nemerle编译器正常工作!

Nemerle Mono开发支持开发但非常慢。随着@Tomas的说法,F#得到了过时的MonodeVelop支持,但是新的MonoDevelop呢?动力单元 ? F#3?我认为这是一项复杂的任务。

Nemerle是OpenSource项目。而且我不确定F#3。我喜欢F#但它总是落后于微软的手。你可以自由尝试。