3

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

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

4

4 回答 4

4

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

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

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

于 2011-09-12T17:23:33.157 回答
3

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

于 2011-09-12T20:15:03.613 回答
3

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

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

于 2011-09-25T13:59:15.457 回答
0

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

Nemerle MonoDevelop 支持开发,但速度很慢。正如@Tomas 所说,F# 得到了过时的 MonoDevelop 支持,但是新的 MonoDevelop 呢?动力单元 ?F# 3 ? 我认为这是一项复杂的任务。

Nemerle 是开源项目。而且我不确定 F# 3。我喜欢 F#,但它总是落后于 Microsoft。你可以自由地尝试两者。

于 2011-09-19T09:26:19.133 回答