在 Xamarin iOS 中调试异步代码
Posted
技术标签:
【中文标题】在 Xamarin iOS 中调试异步代码【英文标题】:Debug async code in Xamarin iOS 【发布时间】:2014-04-27 02:54:20 【问题描述】:我似乎无法调试任何使用async
关键字的代码。有没有人有任何想法来解决这个问题?我完全一无所知。我尝试了几个人建议的不同链接设置,但没有成功。
使用async
之前的任何断点都有效。
编辑:当我在 Mac 上使用 Xamarin Studio 打开解决方案时,调试代码工作正常。不过我更喜欢在 Visual Studio 中开发。
另一个编辑:我通过在 Xamarin Studio 中创建所有项目来“解决”它。如果我发现问题出在哪里,我会在这里发布。
【问题讨论】:
看这个问题-***.com/questions/2301216/… 这段代码是在库还是 PCL 中? 感谢您的建议,但我认为任何答案都与我的情况无关。只是异步的东西是不可调试的,对于任何其他代码行,符号都会被加载。 @thumbmunkeys 这是一个库(ios 库项目)。 也许您需要从 nuget 添加对 Microsoft.Bcl.Async 的引用? 【参考方案1】:-
重启你的机器,完成后不要启动VS
导航到 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
删除所有调试缓存
对该文件夹执行相同操作..C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root
启动VS,确保以管理员身份运行。
设置断点,验证符号是否已加载并且断点是否成立。
【讨论】:
我迫不及待地想试试这个 .. 但我为什么要从 ASP.NET 文件夹中删除内容? 每天调试时,会为每个调试实例创建临时文件,如果你像我一样每天都有大量调试实例进行,你必须清理你的调试缓存。每天早上在启动 VS 之前这样做是安全的。另一种方法是 VS 实例,它仍然认为它在调试旧版本的代码,因此符号不会加载。我推荐的只是您应该始终做的一件事,以验证您的符号将加载到新的调试实例上。如果不知何故他们仍然不加载你知道它不是你的缓存.. 在执行此操作时,请确保删除根目录下所有 URI 的所有字母数字文件夹。【参考方案2】:您可以尝试清理解决方案并重新构建它,也可以从您的设备中删除该应用程序。
您可能正在运行不匹配的代码版本。
【讨论】:
以上是关于在 Xamarin iOS 中调试异步代码的主要内容,如果未能解决你的问题,请参考以下文章
升级到 Visual Studio 16.11.1 后,Xamarin Forms 破坏了 XANS 7028:System.IO.FileNotFoundException:无法加载程序集“Xama
加载程序集时Xamarin Android异常:System.IO.FileNotFoundException:无法加载程序集'Xamarin.Android.Support.Compat
后台未调用 DidReceiveRemoteNotification - Xamarin iOS - 推送通知
在应用程序中安全地保存密钥或字符串 - Xamarin 表单
AppCenter 崩溃和 Firebase Crashlytics - 两者都不起作用 - Xamarin.Forms iOS