断点没有在Xamarin Studio中被击中

我的断点没有在Xamarin Studio中受到影响。 我不确定这是否与我的代码有关,但我感觉好像没有,因为我已经在我的项目中一遍又一遍地尝试断点(在我知道他们肯定应该是的地方)命中,并且在代码完美运行且与我正在测试的function完全无关的地方,并且当我调试时它们都没有得到确认。 我没有禁用断点,我没有将它们添加到错误的位置。 断点应该正常工作,而不是。 我还要补充一点,我不允许在调试过程中暂停我的应用程序。 我想你可以说我的Xamarin Studio中的调试器不工作,我不明白为什么。 我相信我已经确定它与代码无关,但我仍然不能确定。 请帮忙。 谢谢。

这是最流行的问题:谷歌中的“断点不会被xamarin击中”,所以经过一整天的试验和错误后,我将在这里发布针对xamarin版本> 4.0.0.xxx的此问题的解决方案。 是的,遗憾的是这很简单。

解决方案 (此解决方案适用于Visual Studio中的Android应用程序,但也适用于xamarin工作室)

从“Debug”文件夹的路径中删除所有符号(通常:[.sln文件的路径] \ [您的解决方案名称] \ bin \ Debug):

所以如果你有例子:

G:\My Files\Programming\C# (+ JS)\Test1\Examples\LINQ to Objects\AndroidDemo\AndroidDemo\bin\Debug 

将其更改为:

 G:\My Files\Programming\CSharp\Test1\Examples\LINQ to Objects\AndroidDemo\AndroidDemo\bin\Debug 

对我来说“(”和“)”符号造成了麻烦(无论如何,谁在路径中使用这样的符号?)

要validation这是否正常,请打开调试文件夹,在VIsual Studio中选择“Clean Solution”,“Recompile Solution”,“Deploy”。

“部署”操作应生成包含调试数据的* .mdb文件。 如果它们存在,您现在应该能够在断点处停下来。

现在,只要你需要调试一些东西,就可以像往常一样点击F5。

在此处输入图像描述

我不确定是否有人仍在关注此主题,但这个解决方法对我有用。 问题有时与单声道5有关。

因此分辨率是使用旧版单声道:

将“Project> Active Runtime”设置为“Mono 4.8.0(8f6d0f6)(/ Library / Frameworks / Mono.framework / Version / 4.8.0)”。

对于Mac用户,在“首选项” – >“.NET运行时”中更改它

然后重建Android应用程序项目。

删除BIN文件夹和任何* .SUO文件是此问题的最佳解决方案。

也可以尝试删除任何* .csproj.user

在最坏的情况下,通过启动(运行)“Devenv.exe / ResetSettings”重置VS设置

  1. 确保将构建配置设置为Debug。
  2. 确保将项目的构建设置设置为允许为Debug配置发出DEBUG符号。
  3. 清理并重建您的解决方案/项目。
  4. 关闭并重新启动Xamarin Studio。
  5. 重新启动计算机。

有时,解决方案的构建配置可能会变得复杂,并且在构建复杂的构建配置时很容易错过。 确保一切都在那里正确设置。

昨天我使用VS 2013和Xamarin插件遇到了这个问题。 尽管Android项目中的断点仍然存在,但PCL项目中的“突然”断点并未激活。 几周以来,一切都运作良好,我没有应用任何更新。 看看VS Debug | Windows | 模块视图,我可以看到没有为PCL程序集加载符号,我尝试的任何东西都不会强制它们加载,即使它们存在于运行程序集的文件夹中。

然后我记得我前一天做的最后一件事与代码无关,但是对csproj文件进行了一些重构以支持参数化的Jenkins构建。 我在第一个“共享”PropertyGroup中放置了一个OutputPath定义,并将其从所有Configuration / Platform特定的PropertyGroup中删除,例如:

 bin\$(Configuration)\ 

我删除了这个“常见的”OutputPath并将其放回每个特定的PropertyGroup(冒犯我的DRY感觉,请注意),然后事情又重新开始了。

这可能不会让很多人咬人,但是浪费了我几个小时的时间,所以希望它可以让别人饶恕。 Xamarin构建可能会对其一些MSBuild / xbuild进行深入的预期,因此如果您为构建过程修改了csproj文件,这可能是一个可能的罪魁祸首。

我从稳定转换为alpha频道v.3.11.785(Alpha)。 所有断点现在都被击中了。

我添加了这个答案,因为这是唯一对我有用的,在Project Properties > Build我错误地检查了Optimize Code 。 取消选中此框可解决此问题。

我有同样的问题。

原因(IMO):

在我的情况下,问题是由Xamarin Studio(但VS2013是相同的)构建/重建过程引起的。

更详细地说,* .mdb文件未正确重新生成,因此调试器无法正常工作。 您可以通过清理解决方案并转到bin / debug文件夹来检查:如果您仍然看到* .mdf文件,那么这也是您的问题!

唯一可行的解​​决方案是从解决方案中的所有项目(所以Android项目和所有PCL项目)中手动删除bin / debug中的所有* .mdb文件,然后执行重建。

如果这有帮助,请告诉我!

对我来说“(”和“)”符号也造成了麻烦,我正在寻找这个问题的几个星期。 删除完整路径中的“(”和“)”,执行干净的构建并再次点击de断点。

就我而言,xamarin没有打到任何断点。 显示红色圆圈而不是填充红色圆圈,因为有一些语法错误无法被xamarin指出,因为我认为解决方案构建不是最新的 ,即使我能够令人惊讶地运行应用程序。 所以我清理构建了解决方案,并在此之后指出了错误和相关警告。 我修复了这些,然后运行了项目。 之后我能够成功调试!

如果项目在设备上启动,则VS恢复到标准编辑模式(菜单中未启用调试选项),即未附加调试器; 选中项目属性> Android选项> 启用开发人员 检测 。 对我来说,设置被禁用(很可能在发布后检入源代码管理)。

使用“Visual Studio for Mac”(暂时预览但有效)而不是“Xamarin Studio”。 这解决了我的问题。 即使在我的PCL项目中,断点也在起作用! 另一件事……当从“Xamarin Studio”更改为“Visual Studio for Mac”时,我不得不将“project.json”(JSON格式)更改为“packages.config”(XML格式)。