我最近发现了Nemerle和F#,但我找不到任何方法来调试我的应用程序。由于安装了较新的gnome-sharp库(我正在运行最新的Arch Linux kernel-3.064位),MonoDevelop 2.6缺乏对Nemerle和F#的支持,2.4.2和更早的崩溃。命令行单声道调试器拒绝开始说“平台不支持”。关于这种情况有几个问题:
是否有可能使用gdb调试mono应用程序,而无需进行低级(在vm内或更低级别)?在没有调试器的情况下使用Haskell REPL进行交互式开发有多舒服(与Common Lisp或F#的GHCi相比)?
发布于 2011-09-13 01:23:33
我大部分时间都使用F#交互环境来编写F#代码。即使使用Visual Studio,F#交互环境也不(合理地)支持调试器,所以我主要依赖于轻松交互地运行一些东西并查看它是否工作的能力-如果它不能工作,通常很容易拆分成也可以交互尝试的子组件。与例如GHCi相比,F#交互的伟大之处在于,您可以使用它来计算几乎任何东西-包括类型声明。
MonoDevelop 2.4的F#插件目前不支持调试已编译的F#应用程序。我可以使用命令行Mono调试器(我认为是mdb),但那是在32位系统上。
我不确定为什么MonoDevelop不能正确地选择F#调试符号,所以这很可能是一些基本的错误。有一些人正在研究MD2.6的F#插件,所以希望很快就能推出。如果有人想要调查调试为什么不起作用,那将是很好的……
发布于 2011-09-13 04:15:04
Nemerle在Windows下有很好的集成开发环境支持,有Visual Studio和#Develop,比F#更好,但据我所知,没有适用于Linux的。
发布于 2011-09-25 21:59:15
您可以很容易地在MonoDevelop中调试Nemerle。只需使用pdb2mdb工具:http://www.mono-project.com/Guide:Debugger将pdb转换为单声道格式,而不仅仅是调试您的应用程序,您就会得到正确的位置。
我甚至用这个技巧调试了Nemerle编译器。
https://stackoverflow.com/questions/7391383
复制相似问题