Xamarin.Forms IOS断点未命中

时间:2017-05-17 04:21:02

标签: ios visual-studio xamarin.forms breakpoints

我最近升级到Visual Studio的新Xamarin,从那时起,我在IOS调试期间无法再遇到断点。 Android工作正常,很奇怪。

我卸载并重新安装了Visual Studio Community Edition 2017并保留了所有默认设置。以前,这已经解决了像这样的奇怪问题。

我已阅读了数十篇类似的投诉,但这些解决方案对我没用。

5 个答案:

答案 0 :(得分:1)

转到Visual Studio for Mac,解决方案资源管理器并选择项目, 项目 - >选项 - >编译器 - >调试信息,在下拉列表中选择“完整”。

您需要为要调试的解决方案中的每个项目设置此“Full”,否则断点将无法启动。

答案 1 :(得分:1)

我在Windows上的Visual Studio 2017和在远程Mac上使用iOS模拟器的最新Xamarin遇到了相同的问题。开始调试,但是没有遇到断点。

通过在Mac或iOS Build选项上更改没有任何操作来使其正常运行;而是将Windows中Visual Studio 2017中生成的调试信息类型从“完全”或“仅Pdb”更改为“便携式”

Debugging information setting in Visual Studio 2017 Project properties

我是为iOS平台项目以及共享的Xamarin.Forms项目(.NET Standard 2.0)所做的。

此后,共享项目和iOS平台项目中的断点都开始出现。好时光。

答案 2 :(得分:0)

Xamarin.iOS中存在一个错误,该错误将在Xamarin.iOS 10.12.0.12 (494fcbc)中修复,该错误应在测试通道中提供。问题似乎只发生在PCL中,如果在便携式项目中设置断点(Xamarin.Forms代码)就是这种情况。

有一个临时的workaround,对我有用:

  

可能的临时解决方法:切换可移植类库   项目输出“便携式”PDB文件而不是“完整”PDB文件

     
      
  1. 在文本编辑器中打开可移植类库.csproj文件。例如,在解决方案资源管理器中右键单击该项目,然后选择   卸载项目,然后再次右键单击它并选择“编辑...”。

  2.   
  3. 在“Debug | AnyCPU”配置的PropertyGroup下,将DebugType更改为:portable

  4.   
  5. 保存更改并重新加载项目。

  6.   
  7. 再次构建,部署并开始调试iOS应用程序项目。

  8.   

如果您执行上述步骤,Android上就会出现问题。为了能够再次点击Android上的断点,您必须执行this

  

长话短说,如果你手动删除“bin”和“obj”文件夹   对于您已切换到portable的每个项目,   从测试设备卸载应用程序,然后清理并重建   解决方案,应该有希望允许portable模式使用   Android也是。一旦你完成了那些清理步骤,你就可以了   理论上不应该再次执行它们,除非你切换   再次调试DebugType。

修改

在Android上我仍然有troubles,所以这不是完美的方式。

答案 3 :(得分:0)

经过大量的挖掘终于找到了解决方案,请在所附的屏幕中简短地查看。

在VS 2019社区版中。

enter image description here

答案 4 :(得分:0)

Xamarin形式:确保您的视图已与绑定上下文绑定,否则将不会出现断点。断点显示为未加载的符号。

示例:

public ExamplePage()
    {
        InitializeComponent();
        BindingContext = App.Resolve<ExampleViewModel>();
    }

那为我解决了这个问题:)