如何在模拟器上调试MonoTouch应用程序?

时间:2011-04-19 01:10:14

标签: debugging mono xamarin.ios monodevelop

我正在测试MonoTouch(用C#开发而不是Objective-C听起来很棒的想法)。我写了一个非常简单的应用程序,编译得很好,在模拟器上运行得很好。

但每当我添加断点并点击Debug时,我得到:

System.Net.Sockets.SocketException: Address already in use
  at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00000] in <filename unknown>:0 
  at Mono.Debugger.Soft.VirtualMachineManager.BeginListen (System.Net.IPEndPoint dbg_ep, System.Net.IPEndPoint con_ep, System.AsyncCallback callback) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Debugger.Soft.RemoteSoftDebuggerSession.StartListening (MonoDevelop.Debugger.Soft.RemoteDebuggerStartInfo dsi) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Debugger.Soft.IPhone.IPhoneDebuggerSession.OnRun (Mono.Debugging.Client.DebuggerStartInfo startInfo) [0x00000] in <filename unknown>:0 
  at Mono.Debugging.Client.DebuggerSession+<Run>c__AnonStorey6.<>m__2 () [0x00000] in <filename unknown>:0 

我已经尝试阅读文档和常见问题解答,更改目标,以及几乎所有其他我可以google的解决方案(大多数都不相关 - 看起来这个错误主要是在你开发ASP.Net Mono项目时出现的)。我真的希望有一个简单的“转换开关”解决方案。

为了记录,我正在使用:

  1. MonoDevelop 2.4.2
  2. MonoFramework-2.10.1_3
  3. MonoTouch 4试用版(可能阻止调试吗?)
  4. Mac O X 10.6.7
  5. 已添加的库:System.Net,System.Text,System.IO和对System.Json的引用
  6. 一如既往,谢谢你的时间,

1 个答案:

答案 0 :(得分:0)

听起来像其他一些进程正在使用软调试器试图使用的相同端口。

在终端中尝试此命令:

sudo lsof -i -P | grep -i "listen"

它应该可以帮助您找出导致问题的过程。希望你可以关闭/杀死或删除你的Mac。