【记录】解决VS2015调试Xamarin程序一闪而过(使用微软ANDROID模拟器)

越来越多的人去安装Visual Studio 2015,也会去试试其中的C#跨平台开发利器Xamarin,但是也会发现很多问题。

我相信我不会是唯一遇到以下问题的,也不会是最后一个,特此记录。

微软的VS2015会自带微软的模拟器(UPDATE1开始),VS Emulator for Android,本人一开始使用的是GOOGLE自带的模拟器,但是异常的卡,所以想尝试一下新的组合。

我相信会有不少人遇到XAMARIN与VSEA的兼容问题,这个最大的原因可能还在于HYPER-V本身的兼容性很差。

特此记录以下问题:

如果VISUAL BOX(例如GENYMOTION等模拟器)发生无法启动的情况或无法使用VT-X的情况时,一般是因为HYPER-V锁死了软件层的虚拟机应用指令集,解决方法彻底卸载VSEA以及卸载HYPER-V并重启。

如果遇到XAMARIN任何程序,在VSEA中一闪而过或无法调试,并报一下错误:

03-25 21:27:21.970 E/AndroidRuntime( 1590): FATAL EXCEPTION: main
03-25 21:27:21.970 E/AndroidRuntime( 1590): Process: App3.App3, PID: 1590
03-25 21:27:21.970 E/AndroidRuntime( 1590): java.lang.UnsatisfiedLinkError: Couldn‘t load monodroid from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/App3.App3-1.apk"],nativeLibraryDirectories=[/data/app-lib/App3.App3-1, /system/lib]]]: findLibrary returned null
03-25 21:27:21.970 E/AndroidRuntime( 1590): at java.lang.Runtime.loadLibrary(Runtime.java:358)
03-25 21:27:21.970 E/AndroidRuntime( 1590): at java.lang.System.loadLibrary(System.java:526)

或错误为:

03-25 21:25:31.928 W/monodroid( 1427): Trying to load sgen from: /storage/emulated/0/Android/data/App3.App3/files/.__override__/libmonosgen-2.0.so
03-25 21:25:31.928 W/monodroid( 1427): Trying to load sgen from: /data/app-lib/App3.App3-2/libmonosgen-2.0.so
03-25 21:25:31.928 W/monodroid( 1427): Trying to load sgen from: /data/data/App3.App3/files/.__override__/links/libmonosgen-2.0.so
03-25 21:25:31.928 W/monodroid-debug( 1427): Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=127.0.0.1:8827,server=y,embedding=1
03-25 21:25:32.112 W/monodroid-debug( 1427): Accepted stdout connection: 43
03-25 21:25:32.888 D/Mono ( 1427): Image addref mscorlib[0xb8dd2010] -> mscorlib.dll[0xb8dd1350]: 1
03-25 21:25:32.892 D/Mono ( 1427): AOT module ‘mscorlib.dll.so‘ not found: dlopen failed: library "/data/app-lib/App3.App3-2/libaot-mscorlib.dll.so" not found
03-25 21:25:32.892 D/Mono ( 1427): AOT module ‘/Users/builder/data/lanes/2970/46c3f7e0/source/monodroid/builds/install/mono-x86/lib/mono/aot-cache/x86/mscorlib.dll.so‘ not found: dlopen failed: library "/data/app-lib/App3.App3-2/libaot-mscorlib.dll.so" not found
03-25 21:25:32.892 D/Mono ( 1427): Unloading image data-0x96699010 [0xb8dd20b0].
03-25 21:25:32.912 D/Mono ( 1427): Assembly mscorlib[0xb8dd2010] added to domain RootDomain, ref_count=1

而且发生无法调试的情况,基本上是因为虚拟机镜像以及HYPER-V本身的兼容问题,也可能是WIN10的问题,建议直接使用第三方的模拟器替代VSEA模拟器即可,此处推荐2个模拟器:GENYMOTION以及天天。

基本上使用GENYMOTION和XAMARIN的兼容是最好的,目前测试,毫无压力调试。

特此记录,以防出现类似问题。

时间: 2024-08-28 07:02:07

【记录】解决VS2015调试Xamarin程序一闪而过(使用微软ANDROID模拟器)的相关文章

物理机调试Xamarin程序(Android)

1.手机开启开发者模式 默认情况下,"开发人员选项"是隐藏的,可以搜索不同品牌手机开启开发者模式的方法(本文默认以小米手机为例) 在"设置"中点击"我的设备"->"全部参数"->连续点击"MIUI版本",直到手机下方弹出"您已处于开发者模式"提示 2.开启USB调试 在"设置"中点击"更多设置"->找到"开发者选项&qu

VS2015调试UWP程序时提示错误DEP0700 : Registration of the app failed. Another user has already installed

在同一台windows10电脑上调试过一个工程以后,切换了账号再次调试出现错误 DEP0700 : Registration of the app failed. Another user has already installed a packaged version of this app. An unpackaged version cannot replace this. The conflicting package is {{{PackageName}}} and it was pu

visual studio xamarin 离线安装文件以及 android 模拟器

介绍 为了使用vs开发android我也是煞费苦心,先是从网上各种搜刮文章,然后找各种各样的离线包(因为国内网络是下载不了C#/Xamain)的包的,还有各种各样的安装包,都已快接近奔溃的边缘.每次不是下载下来的包不能用,就是没有跨平台开发的离线包,忽然一想,为啥我不自己打个包呢... 打包方式:http://www.cnblogs.com/danzhang/p/6534341.html 这篇文章描述的很详细啦,我就不一一说了,不过有个地方我不得不提醒大家一下,在文章中,有提到需要用到dos命令

【Eclipse】eclipse调试java程序的九个技巧

本文转自[半夜乱弹琴],原文地址:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions display 远程debug 最早开始用eclipse的debug的时候,只会F5 F6 F7 F8,甚至F7都不是很搞的明白是怎么用的,那时候资浅,碰不到需要复杂debug的代码,慢慢工作深入了,场景碰多了,就需要各种debug技巧来提升定位bug效率,以前找人帮忙

gdb调试C程序

gdb调试 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1) 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2) 可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) 3) 当

亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查

MAC使用IDA PRO远程调试LINUX程序

1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪图形界面调试器”,也跟IDA PRO之类的调试器相差甚远.这里又遇到另一个问题了——LINUX平台的IDA PRO不太好找. 综上,对于初学者而言最佳方案就是使用IDA PRO的远程调试功能! 2 环境配置 本文主要说明在MAC系统上如何通过IDA PRO对linux程序进行远程调试(如果宿主机为W

如何调试PHP程序

调试的定义:通过一定方法,在程序中找到并减少缺陷的数量,从而使其能正常工作.这里说一些如何调试PHP程序的经验. 一.PHP自带的调试功能 1.自带的报错功能 两个名词:开发环境是开发人员在进行开发和调试的环境,生产环境是最终客户在用的线上环境:开发环境和生产环境要分开设置报错功能. (1)开发环境开发环境需要打开报错,以下是php.ini的配置项及其说明: ; This directive sets the error reporting level.; Development Value:

使用 GDB 调试多进程程序

GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较. 3 评论 田 强 ([email protected]), 软件工程师, IBM中国软件开发中心 2007 年 7 月 30 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大.对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统: 进程