断点没有在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设置
- 确保将构建配置设置为Debug。
- 确保将项目的构建设置设置为允许为Debug配置发出DEBUG符号。
- 清理并重建您的解决方案/项目。
- 关闭并重新启动Xamarin Studio。
- 重新启动计算机。
有时,解决方案的构建配置可能会变得复杂,并且在构建复杂的构建配置时很容易错过。 确保一切都在那里正确设置。
昨天我使用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格式)。