在Android设备上在Visual Studio 2015中调试Xamarin的零星问题



在调试,构建和部署在调试模式下到我的Nexus 9时,有时我会看到Sigsegv 11和/或我的断点不会受到打击。我认为这是由于我的调试代码并不总是在实际设备上更新。为什么,我不知道。我尝试了所有以下所有内容:

  • 关闭"使用共享运行时"
  • 删除所有bin和obj目录
  • 全面清洁整个解决方案

在干净的目录中完成了整个项目的完整获取后,以确保我开始新鲜时,我看到我的旧日志语句仍在输出中出现。我终于找到了使用Nexus上运行的ADB Shell在设备上替换为DLL文件的过时版本:

flounder:/storage/emulated/0/Android/data/com.myproject.debug/files/.__override__

我在adb shell a rm中执行:

flounder:/storage/emulated/0/Android/data/com.myproject.debug/files/.__override__ $ rm *.*

在上述目录中有关Nexus和我的调试之后开始工作。我希望这是我所有问题的终结,但是我不确定我的代码如何最终到达那里,以及为什么我的部署未能将其更新。现在,我确保每次部署时都要更改日志语句,以确保它实际运行新代码。自从我在设备上删除这些文件以来,它一直在部署和运行良好。

所以,我想我的问题是,我的调试DLL文件如何最终进入该目录(它们还没有返回),我该如何避免再次在这种情况下结束?

谢谢。

此外,请更改另一个设备以检查此问题是否仅由该设备引起。如果只有此设备有此问题,恐怕与设备本身有关的问题,请重新启动您的设备,并检查是否有设置会导致App File Caches。

如果其他设备也有此问题,我建议您在将其重新删除设备之前从设备上卸载该应用程序,这可以确保从设备中删除旧的DLL。

最新更新