Visual Studio 无法调试 Android Xamarin 应用程序。

19

我已开始使用Visual Studio 2013和Xamarin进行Android开发。

当我开始调试Android应用时,它会构建、部署到设备上,然后Visual Studio的调试停止运行。我无法遇到任何断点。应用程序在设备上运行正常,但我无法进行调试。 我有什么遗漏的吗? 我尝试了各种模拟器和物理Android设备,但在任何一个设备上都不能进行调试。它就像我停止了它一样。

在Xamarin Studio中调试相同的解决方案是可行的,但我无法使其在Visual Studio中工作。

11个回答

11

Visual Studio不能使用Hyper-V调试Android Xamarin应用程序的另一个原因是,由于您在Android项目中没有选中“Deploy”选项。

步骤:1)进入“解决方案属性” 2)选择“配置属性” 3)在Android项目中选中“Deploy”。


11

3
感谢您节省了我的时间。我按照以下两个步骤操作:1)检查“.Droid”项目的调试器是否为Xamarin;2)通过打开“迁移到具有不同处理器版本的物理计算机”选项来设置处理器兼容性;3)关闭VS;4)关闭正在运行的模拟器;5)在VS模拟器管理器中重新运行它;6)重新打开VS;7)使用VS启动调试。 - Thomas.Benz
非常感谢。 - JonathanPeel
告诉那些找不到Hyper-V并希望启用它的人:启用Hyper-V Manager会禁用硬件加速,现在我的模拟器运行非常缓慢。 - Chucky

8

确保你正在运行目标上的Debug模式。

然后,检查应用项目的属性,并查看它是否使用Xamarin调试器而不是VisualStudio调试器。


1
嗨,马科斯,配置已设置为调试模式,并将调试器设置为Microsoft。我已尝试在设置中可能的每种组合,但仍然是相同的结果。部署后,使用VS完成,应用程序在设备上运行自己的生活。 - Maarty
2
你必须选择“Xamarin”调试器,而不是微软的。 - Marcos Vasconcelos
今天我把调试器重新放回Xamarin中,终于它可以工作了...但我不知道我改了哪些其他设置...无论如何,感谢您的帮助,我会标记您的答案,因为它是解决方案的一部分。 - Maarty
调试器选项在哪里?我在项目属性中找不到它。 - SpaceMonkey
2
这对我不起作用。 该项目是“Debug/Any CPU”。 调试器是“.Net(Xamarin)”(唯一的其他选项是C++)。 - JonathanPeel
显示剩余3条评论

7
  1. 进入“解决方案属性”
  2. 选择“配置属性”
  3. 在Android项目中勾选“部署”。

    • 打开Hyper-V管理器
    • 进入模拟器设置
    • 进入处理器设置
    • 选择兼容性
    • 勾选“迁移到具有不同处理器版本的物理计算机”复选框

5
如果您没有将任何活动标记为主要启动器活动,则也会发生这种情况:
[Activity(
    ...
    MainLauncher = true,
    ...)]
public class MainActivity ...

如果你从之前的项目中移植代码,而之前的项目使用了一个启动屏幕,而你的新项目目前还没有使用启动屏幕,那么很容易犯这个错误。


谢谢!这正是我的情况 :) - Marek

3

进入应用程序项目的属性,然后点击 Android 选项并在调试部分勾选复选框,然后再次运行。

enter image description here


在运行之前,还应该清除解决方案(生成->清理解决方案)。 - Suraj

3

如果有人仍需要帮助,请确保在配置管理器中勾选“构建”和“部署”复选框。在此输入图片描述


1
在我的情况下,经过一些调查,我发现我遇到了以下警告:"Failed to read .android.dll' with debugging symbols. Retrying to load it without it. Error details are logged below. 2>Mono.Cecil.Cil.SymbolsNotMatchingException: symbols were found but are not mathing the assembly"。解决方法是禁用链接:右键单击Android项目->属性->Android选项->在“链接器属性”下,将链接设置为None(见下图)。

enter image description here

我从this帖子中TedFalasco的回答中得到了这个。


0

Hyper-V 管理器无法在 Windows 7 上安装(只安装管理工具),所以如果你遇到这个问题,按照以下步骤是无法解决的。

以下方法是我亲自尝试并且在这里作为答案提到过,但没有被标记或者记录为答案。实际上,这是最好最简单的解决方案,其他方法对我都无效。

在 Visual Studio 中,请确保在解决方案资源管理器中选择解决方案文件(而不是项目文件)。然后在“项目 > [项目]属性”菜单中选择左侧面板的“配置属性 > 配置”。现在检查是否有部署功能选项。仅可部署的项目才会有此选项。

这个方法救了我的命,我差点放弃 Xamarin。我真心希望这能帮助像我一样的其他人。


请不要将“谢谢”作为答案。相反,投票支持您认为有帮助的答案。-【来自审核】 - S.L. Barth
我看到这个问题的答案就在上面,是由Raul Martin Ramos提供的,但作为现状可能不够严肃。这只是我的想法。此外,Hyper-V管理器在Windows 7上不可用,这很重要,应该在这个论坛帖子中提到。 - Stanley

0
在我的情况下,警告是不言自明的:
在 Visual Studio 项目属性页中将调试信息设置为 Portable,或者在文本编辑器中编辑项目文件并将“DebugType”MSBuild 属性设置为“portable”,以使用更新版本。
换句话说:右键单击项目 => 属性 => 构建 => 单击“高级” => 将“调试信息”设置为“可移植”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接