7

有在包裝選項卡,可以讓你的Xamarin調試器或微軟調試器之間進行選擇的Android的選項部分Android項目設置的選項。 Xamarin調試器可以工作,但不如Microsoft可能。不幸的是,當嘗試使用Microsoft調試器並在Visual Studio Android模擬器之一上部署時,我收到一條錯誤消息。使用Microsoft調試器與Xamarin的Android

無法啓動調試。目標設備上安裝了不可調試的應用程序。在設備上找不到必需的文件'/data/data/My.Application/lib/gdbserver'。請安裝可調試版本。

有什麼辦法讓微軟的調試工作?

+0

至於我以前的測試,Microsoft調試器從來沒有與Xamarin合作過。 –

回答

3

Xamarin調試器只能調試託管(即C#)代碼。如果正在調試的項目是託管項目,則斷點僅適用於Xamarin調試器。如果項目是本機應用程序或本機庫,則它們不起作用。

Microsoft調試器只能調試本機(即C/C++)代碼。如果正在調試的項目是本地應用程序或本機庫,或者它已附加到已在運行的Android進程上,則斷點只能與Microsoft調試器一起使用。

要將gdbserver引入應用程序包,您必須從託管應用程序引用本機代碼庫,或者將其包含在內(將生成操作設置爲AndroidNativeLibrary)。我發現你也可以從一個項目中添加一個gdbserver鏈接(再次,構建動作設置爲AndroidNativeLibrary),並利用路徑嗅探從匹配的ABI中選擇gdbserver。項目文件的片段:

<ItemGroup> 
    <AndroidNativeLibrary Include="$(ANDROID_NDK_ROOT)\prebuilt\android-arm\gdbserver\gdbserver"> 
     <Link>lib\armeabi-v7a\gdbserver</Link> 
    </AndroidNativeLibrary> 
    </ItemGroup> 

另請參閱my answera similar question