在 Packaging 选项卡的 Android Options 部分的 Android 项目设置中有一个选项,可让您在 Xamarin 调试器或 Microsoft 调试器之间进行选择。 Xamarin 调试器可以工作,但不如 Microsoft 调试器好。不幸的是,我在尝试使用 Microsoft 调试器并在其中一个 Visual Studio Android 模拟器上进行部署时收到一条错误消息。
Unable to start debugging. Non-debuggable application installed on the target device. Required file '/data/data/My.Application/lib/gdbserver' could not be found on the device. Please install a debuggable version.
有什么方法可以让 Microsoft 调试器正常工作吗?
最佳答案
Xamarin 调试器只能调试托管(即 C#)代码。如果正在调试的项目是托管项目,则断点仅适用于 Xamarin 调试器。如果项目是 native 应用程序或 native 库,它们将不起作用。
Microsoft 调试器只能调试 native (即 C/C++)代码。如果正在调试的项目是 native 应用程序或 native 库,或者它附加到已运行的 Android 进程,则断点仅适用于 Microsoft 调试器。
要将 gdbserver 放入应用程序包中,您必须从托管应用程序中引用 native 代码库,或者包含它(构建操作设置为 AndroidNativeLibrary)。我发现您还可以从项目中添加指向 gdbserver 的链接(同样,构建操作设置为 AndroidNativeLibrary),并利用路径嗅探从匹配的 ABI 中选择 gdbserver。项目文件 fragment :
<ItemGroup>
<AndroidNativeLibrary Include="$(ANDROID_NDK_ROOT)\prebuilt\android-arm\gdbserver\gdbserver">
<Link>lib\armeabi-v7a\gdbserver</Link>
</AndroidNativeLibrary>
</ItemGroup>
另请参阅 my answer至 a similar question .
关于android - 将 Microsoft 调试器与 Xamarin Android 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32069462/