当我开始调试我的第一个 Xamarin
Android 应用程序时,我设置了一些断点。无论我做什么,它仍然不会到达断点。这有什么问题吗?
我试过很多次了,但没有用。
最佳答案
我发现包含您的项目的文件夹的名称会有所不同。 你的里面有空格或标点符号吗?
文件夹名称通常与项目名称相同,但并非必须如此。我在一个解决方案中有一个名为“Engagement (Android)”的 Xamarin Android 项目,默认情况下它存储在磁盘上 ...\Engagement (Android)\Engagement (Android).csproj
无论我做什么,它都不会遇到断点。我添加的全新项目(称为 Test1、Test2 等)- 完美调试。
当我将文件夹名称更改为“Engagement_Android”(保持相同的项目名称)时 - 它再次开始遇到断点。
随之而来的其他症状包括“清理项目”选项没有清除 bin/debug 文件夹中的所有文件(它留下了项目的主要 DLL 和 PDB 文件)。
对我来说最重要的是,当我进行干净构建时,bin/debug 文件夹不包含主 exe 的“MDB”文件(在本例中为 Engagement Android.dll.mdb)等等没有被打包成APK文件。
事实证明,MDB 文件是将调试信息打包到 APK 中的方式 - 没有它,您将无法调试!我认为它们是在构建过程中由名为 PDB2MDB.exe 的工具创建的。
如果您尝试这样做,请记住重要的是物理文件夹名称,而不是项目名称。此外,您需要编辑 SLN 文件,因为它包含对解决方案中每个项目路径的引用 - 因此也请在那里进行更改。
关于android - 为什么我在开始调试 Xamarin Android 应用程序时无法命中断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30641160/