2011-04-19 104 views
1

我正在測試MonoTouch(用C#開發而不是Objective-C聽起來很棒)。我寫了一個非常簡單的應用程序,編譯得很好,並在模擬器上很好地運行。如何在模擬器上調試MonoTouch應用程序?

但每當我添加斷點和命中調試,我得到:

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 

我試着閱讀文檔和FAQ,不斷變化的目標,幾乎所有其他的解決方案,我可以谷歌(多數是不相關 - 當你開發ASP.Net Mono項目時,似乎這個錯誤大部分出現)。我真的希望有一個簡單的「轉換」解決方案。

爲了記錄在案,我使用:

  1. 的MonoDevelop 2.4.2
  2. MonoFramework-2.10.1_3
  3. MonoTouch的4試用
  4. 的Mac OX(莫非是阻止調試?) 10.6.7
  5. 已添加庫:System.Net,System.Text,System.IO和System.Json的引用

一如往常,感謝您的時間,

蓋伊

回答

0

聽起來像其他一些工藝是使用軟調試器試圖使用相同的端口。

在終端試試這個命令:

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

應該幫助你找出什麼進程造成問題。希望這是你可以關閉/殺死或從你的Mac刪除的東西。

+0

謝謝喬納森!讓我走上正軌。顯然調試器正在使用端口10000(需要了解如何更改該端口),這是我的機器上的另一個應用程序使用的。我設法啓動了調試器,但它在一分鐘內退出。將做更多的研究,但我不確定是什麼阻止了它 - 這回答了主要問題。 – 2011-04-19 17:20:16

+0

實際上,我發現我不能使用斷點來調試應用程序的啓動過程(如此處所述:http://monotouch.net/Documentation/Debugging),因此解決方案被100%接受。 – 2011-04-19 18:52:01

相關問題