2012-08-01 41 views
0

當我在鎖(...)或唯一的IF語句在代碼中進行斷點調試monodroid中的多線程應用程序時,它不工作。但是,當我在關鍵字前做出斷點,然後逐步調試時,它就可以工作。爲什麼?該如何解決?斷點不工作在Monodroid多線程應用程序

代碼(傳感器監聽器類):

static object lockAll = new object(); 
     public void OnSensorChanged(SensorEvent ev) 
     { 
      int g1 = 8; //Breakpoint in this place works 
      lock (lockAll) 
      { 
      int g2 = 8; //Breakpoint in this place isn't works 
      } 
     } 

或者:

public void OnSensorChanged(SensorEvent ev) 
    { 
     Sensor curS = ev.Sensor; //Breakpoint in this place works 
     if (curS.Type == SensorType.Accelerometer) 
      { 
      int g2 = 8; //Breakpoint in this place isn't works 
      } 
    } 
+1

我接受:) – Brans 2012-08-01 15:53:36

+1

有些代碼呢? – 2012-08-01 15:54:58

+0

現在你可以看到代碼示例 – Brans 2012-08-02 07:48:16

回答

0

我遇到同樣的問題,與通過VS2010 IDE MonoDroid的。很多時候,我必須強制關閉平板電腦(或其他設備)上的應用程序,關閉IDE,重新打開IDE,重新部署應用程序..然後有時候斷點將開始工作再次預期。

+0

這是其他問題。當Visual Studio無法刪除調試文件時。我修復了下載的名爲「unloker」的軟件(http://www.filehippo.com/download_unlocker/)並使用這樣的bat文件:@echo off D:\ MyProject \ bin \ UnlockerPortable \ App \ Unlocker \ Unlocker.exe D :\ MyProject \ bin \ Debug \ Point.dll.mdb/S del Debug \ MyProject.dll.mdb/F/Q :錯誤 迴應失敗,錯誤#%errorlevel%。 exit/b 0然後你可以添加這個蝙蝠在構建之前在VS中執行autamaticaly。這將解決這個bug。但那是其他錯誤 – Brans 2012-08-02 07:41:27