利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)

由于之前装过 Genymotion 模拟器,昨天做了一次更新, 尼玛结果出问题了  不停的报 play.exe停止工作,网上的各种方式折腾了几个小时无效,最后把

Oracle VM VirtualBox

Genymotion

用360软件管理彻底卸载了,接着重启,

然后重新下载了一个 VirtualBox + Genymotion 的综合安装包,不负所望,在机器重启后终于可以正常进入模拟器了

下载地址:http://files2.genymotion.com/genymotion/genymotion-2.2.0/genymotion-2.2.0-vbox.exe

看下 效果还不错  ,模拟器的过程我就不详细说了 大家自行摸索一下,网上教程挺多的

下面准备开始我们的调试过程

1、我们下载一个插件

下载Eclipse插件

此插件也可以通过Eclipse直接安装:Help->Install New Software,然后添加下面的地址:http://plugins.genymotion.com/eclipse
注意:如果要使用此插件,您的系统必须已经安装Genymotion

来源: <http://www.genymotion.cn/#theme=download_list>

插件过程就不详细说了 官网复制下来的有写

2、 错误信息: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

在我们第一次调试的时候肯定会出现一个这样的错误 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

原因是因为我们的模拟器是x86架构的处理器,但是eclipse编译出来的apk 只能在arm的架构上运行,所以就会提示这个错误

不过没关系 广大网友的力量是无尽的,我们只要下载一个补丁,安装上就可以正常运行apk了(补丁出自于那里就无从考究了,反正能用就好)

下面的补丁地址:http://pan.baidu.com/s/1h7yPD

补丁安装很简单,把下载好的文件 直接拖进模拟器,会弹出一系列的提示,全部点yes,提示框完了以后就直接重启模拟器,

再次启动模拟器的时候,可能会报错,但是没关系,我们不管它,重新继续重启,一直到正常为止

3、好了,接下来就可以开始我们的调试大业了,因为我们讲的是vs调试ndk, 这里我们需要使用到一个神器VisualGDB,大家可以在网上自动搜索,

也可以在QQ群:25093009,群共享自行下载,群共享文件名:eclipse vs 联调ndk,文件里面详细介绍了如何安装配置,这里就不详细描述了

在调试过程中注意一个问题,so必须编译成x86的架构,如何编译x86架构的 so?

很简单 在jni目录里面创建一个Application.mk 然后写入下面代码:APP_ABI := armeabi armeabi-v7a x86

简单吧,这样子ndk-build命令在编译的时候 就会自动编译 上面三个构架的so文件,这样子我们就可以任意框架里面调试了

4、接下来我们看几个截图吧,调试过程的截图

附加界面

apk  还没有加载so  vs里面的断点处于 空白断点状态

悬浮窗口出来,so已经成功加载,看我们的vs断点里,已经可以正常使用了,并成功进入断点。

在这里我们调试成功了,大家是不是觉得很激动,如果觉得激动,就点个赞吧,哈哈,赶紧去测试吧,心动不如行动.

来自为知笔记(Wiz)

利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)

时间: 2024-08-24 05:19:40

利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)的相关文章

shell脚本利用Here Document ,打包C的源码并编译生成再执行。shell携代攻击程序

shell脚本利用Here Document ,打包C的源码并编译生成再执行. shell携代攻击程序 cat 1.sh #!/bin/bash # echo "正在产生 hello.c ... " echo cat <<'EOF' > hello.c #include<stdio.h> int main() { printf("Hello world! \n"); return 0; } EOF echo "编译 hello

Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建

Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以只能在Eclipse 搭建Solr的环境,折腾了一小时终于完成了. 1. JDPA远程调试 搭建换完成Solr环境后,对${TOMCAT_HOME}/bin/startup.sh 最后一行进行修改,如下所示: 1 set JPDA_ADDRESS=7070 2 exec "$PRGDIR"

如何阅读源码,如何提高阅读源码的效率

就我自己阅读安卓源码的经验,本人研究过 settings,launcher,Sysupdate ,framework /services ,recovery的部分源码,并且成功修改google留下来的bug. 如果就是熟悉代码,不带问题的去看,看的会比较累,但是仍然是有方法可以借鉴的,其实这个方法,也是生活经验得来的,大家都会的. 就是从整体到局部,由总而分. 比如:你想了解recovery的代码,就应该先了解这个Recovery的运作流程,网上有很多人总结了,总概括图,先有个大概的了解: 第二

Linux下利用phpize安装memcashe的php源码扩展包

phpize是php的一种构建工具,为PHP扩展准备构建环境,通过phpize可以编译php的扩展源码文件为php扩展模块. 一.安装 phpize工具可以通过安装php-dev包自动集成安装.安装完成后php的bin目录下会有phpize这个命令. 二.使用 举例:在原来编译好的php中加入memcache扩展模块,使用phpize构建的方式如下. tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5/ /usr/local/php/bin/phpize

yum更换国内源、利用yum下载rpm包以及源码包安装

有时候我们自带的yum源不太好用,这是因为这个源主要都是国外的网站资源,这回给我们带来一些麻烦,所以可以将yum源更换成国内的源. 首先,把之前备份的文件都恢复,删除本地的dvd库[[email protected] yum.repos.d]# \rm dvd.repo然后将刚才拷贝的文件在拷贝回去[[email protected] yum.repos.d]# cp ../yum.repos.d.bak/* .[[email protected] yum.repos.d]# lsCentOS-

利用infer工具分析安卓android源码

转载请注明出处: http://blog.csdn.net/guoyjoe/article/details/47171673     -------碰到各种报错,一步步排错! Infer 是 Facebook 最新开源的静态程序分析工具,用于在发布移动应用之前对代码进行分析, 找出潜在的问题.目前 Facebook 使用该工具来分析 Facebook 的 App,包括 Android .iOS.Facebook Messenger 和 Instagram 等等 #################

《Python 源码剖析》一些理解以及勘误笔记(2)

以下是本人阅读此书时理解的一些笔记,包含一些影响文义的笔误修正,当然不一定正确,贴出来一起讨论. 注:此书剖析的源码是2.5版本,在python.org 可以找到源码.纸质书阅读,pdf 贴图. 文章篇幅太长,故切分成3部分,这是第二部分. p248: 嵌套函数.闭包和 decorator co_cellvars: 通常是一个tuple,保存嵌套的作用域内使用的变量名集合: co_freevars: 通常是一个tuple,保存使用了的外层作用域中的变量名集合. 如下的一段Python 代码: P

【Spring】Spring&amp;WEB整合原理及源码分析

表现层和业务层整合: 1. Jsp/Servlet整合Spring: 2. Spring MVC整合SPring: 3. Struts2整合Spring: 本文主要介绍Jsp/Servlet整合Spring原理及源码分析. 一.整合过程 Spring&WEB整合,主要介绍的是Jsp/Servlet容器和Spring整合的过程,当然,这个过程是Spring MVC或Strugs2整合Spring的基础. Spring和Jsp/Servlet整合操作很简单,使用也很简单,按部就班花不到2分钟就搞定了

在Ubuntu Server14.04上编译Android6.0源码

此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把Android6.0的源码,但是昨天编译完之后已经很晚了,没来得及记录编译的步骤,今天才慢悠悠地来记录一下我在Ubuntu Server14.04上编译Android6.0源码的步骤.好了,废话不多说,我们开始吧! 步骤一: 安装Ubuntu系统.我们既可以通过虚拟机的方式安装Ubuntu,也可以直接在