【问题标题】:Debug async code in Xamarin iOS在 Xamarin iOS 中调试异步代码
【发布时间】:2014-04-27 02:54:20
【问题描述】:

我似乎无法调试任何使用async 关键字的代码。有没有人有任何想法来解决这个问题?我完全一无所知。我尝试了几个人建议的不同链接设置,但没有成功。 使用async 之前的任何断点都有效。

编辑:当我在 Mac 上使用 Xamarin Studio 打开解决方案时,调试代码工作正常。不过我更喜欢在 Visual Studio 中开发。

另一个编辑:我通过在 Xamarin Studio 中创建所有项目来“解决”它。如果我发现问题出在哪里,我会在这里发布。

【问题讨论】:

  • 这段代码是在库还是 PCL 中?
  • 感谢您的建议,但我认为任何答案都与我的情况无关。只是异步的东西是不可调试的,对于任何其他代码行,符号都会被加载。
  • @thumbmunkeys 这是一个库(iOS 库项目)。
  • 也许您需要从 nuget 添加对 Microsoft.Bcl.Async 的引用?

标签: c# visual-studio asynchronous xamarin.ios xamarin


【解决方案1】:
  1. 重启你的机器,完成后不要启动VS
  2. 导航到 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
  3. 删除所有调试缓存
  4. 对该文件夹执行相同操作..C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root
  5. 启动VS,确保以管理员身份运行。
  6. 设置断点,验证符号是否已加载并且断点是否成立。

【讨论】:

  • 我迫不及待地想试试这个 .. 但我为什么要从 ASP.NET 文件夹中删除内容?
  • 每天调试时,会为每个调试实例创建临时文件,如果你像我一样每天都有大量调试实例进行,你必须清理你的调试缓存。每天早上在启动 VS 之前这样做是安全的。另一种方法是 VS 实例,它仍然认为它在调试旧版本的代码,因此符号不会加载。我推荐的只是您应该始终做的一件事,以验证您的符号将加载到新的调试实例上。如果不知何故他们仍然不加载你知道它不是你的缓存..
  • 在执行此操作时,请确保删除根目录下所有 URI 的所有字母数字文件夹。
【解决方案2】:

您可以尝试清理解决方案并重新构建它,也可以从您的设备中删除该应用程序。

您可能正在运行不匹配的代码版本。

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 2015-12-04
    • 2018-09-06
    • 1970-01-01
    • 2023-03-19
    • 2020-04-15
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    相关资源
    最近更新 更多