C# 断点在Monodroid多线程应用程序中不起作用
在monodroid中调试多线程应用程序时,当我在锁(…)后设置断点时,或者仅当代码中的语句出现时,它不起作用。但当我在那个关键字之前设置断点,然后一步一步地调试时,它就可以工作了。为什么?如何解决这个问题 代码(传感器侦听器类): 或:C# 断点在Monodroid多线程应用程序中不起作用,c#,mono,monodevelop,xamarin.android,C#,Mono,Monodevelop,Xamarin.android,在monodroid中调试多线程应用程序时,当我在锁(…)后设置断点时,或者仅当代码中的语句出现时,它不起作用。但当我在那个关键字之前设置断点,然后一步一步地调试时,它就可以工作了。为什么?如何解决这个问题 代码(传感器侦听器类): 或: 我在通过VS2010 IDE使用monodroid时也遇到了同样的问题。通常情况下,我必须强制关闭平板电脑(或其他设备)上的应用程序,关闭IDE,重新打开IDE,重新部署应用程序。。有时断点会像预期的那样再次开始工作。这是另一个问题。当Visual studi
我在通过VS2010 IDE使用monodroid时也遇到了同样的问题。通常情况下,我必须强制关闭平板电脑(或其他设备)上的应用程序,关闭IDE,重新打开IDE,重新部署应用程序。。有时断点会像预期的那样再次开始工作。这是另一个问题。当Visual studio无法删除调试文件时。我修复了它,下载了名为“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:error echo失败,错误为#%errorlevel%。退出/b 0然后您可以在VS BEFOR build中将此bat自动添加到exected。这将消除这个错误。但这是另一个错误
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
}
}