
直接使用VS(VisualStdio)对Android,Linux,树莓派,ARM等进行代码编辑,编译,调试VS的功能之强大,地球人都知道,VisualGDB+VisualStudio。VisualGDB整合了GNUToolchain(GCC/GDB)进VisualStudio。这样就可以直接使用VisualStudio开发和调试一些基于GNUToolchain的各平台应用程序。例如:嵌入式程序,AndroidNativeCode,MacOSDriver,LinuxDriver,LinuxApplication等。
VisualGDB是德国一家公司SysprogsUG开发的。
gdb调试工具(VisualGDB)把GDB调试工具集成到visualstudio开发环境中,在调试过程中,可以使用visualstudio原有的单步执行、设定断定等快捷键,还可以在visualGDBsession的窗口中输入GDB的调试命令,集成了visualGDB之后还可以在程序执行的过程中用鼠标悬停的方式查看和修改变量的值,这样在不改变调试习惯的同时还可以使用GDB强大的调试功能,很不错。
除了调试windows项目之外,visualGDB还可以在visualstudio中调试android项目,linux项目。只不过调试linux项目的时候是通过ssh登陆的方式进行远程调试,也就是说基于网络的,至少是双机。
使用方法
1.安装VisualGDB-5.0-beta2.msi
2.将VisualGDB.exe覆盖安装目录下的文件,安装路径默认为C:\\ProgramFiles\\Sysprogs\\VisualGDB
安装教程:
目前已知的VisualGDB免费版最新版是VisualGDB-5.0-beta2,具体的话可以简介的百度云中下载;
点击并安装VisualGDB-5.0-beta2.msi
选择正确的版本的VisualStudio,,如下图所示,我当前选择的是Visual?Studio2013
安装完后用"VisualGDB.exe"替换掉安装目录下面的VisualGDB.exe,如我的完整的路径是"D:\ProgramFiles(x86)\Sysprogs\VisualGDB\VisualGDB.exe",具体的如下图所示:
打开Visual?Studio2013,便可以开始新建一个AndroidProject,具体的效果如下:
虽然界面上显示的是jdk32位的,但是实际上都用64位的版本的也是可以的,效果如下图所示:
可以新建一个?App?试试:
调试效果如下图所示:
当然可以导入一个已经存在的eclipse工程,效果如下:
java环境配置:
1.配置JDK
打开【我的电脑】属性-【高级系统设置】-【环境变量】如下图:
1)第一“JAVA_HOME”:JAVA_HOME的内容是jdk安装目录。如小编安装的位置C:\ProgramFiles(x86)\Java\jdk1.7.0_60,并且后边不带分号,如下图:
2)第二,检查CLASSPATH,这是一个jar包的调用。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有点号和分号,后边结尾也有分号。或者可以写成“.;%JAVA_HOME%\lib”如图所示,一样的效果。如下图:
3)第三检查“PATH"变量是否正确,PATH变量很简单,就是jdk的bin目录的意思。%JAVA_HOME%\bin;
4)安装了JDK的话,正常CMD下输入JAVAC时一定可以成功的。就会有如下信息提示
VisualGDB初体验:
2.1:创建一个带有NativeC库的AndroidAPP。
File-New-Project-VistualGDB-AndroidProjectWizard
选择CreateaNewAppwithasimplenativelibrary.
则会创建一个VS工程,这个工程包含Java文件和NativeC文件.C文件中包含JNI接口.
可以在C/C++程序中添加断点调试.
2.2:使用VisualGDB和NetADB调试程序:
如果Android设备使用USB线和开发机连接,则使用VisualGDB直接可以调试之。GDBServer也由VisualGDB从NDK中Push到远端机器上。
但Sam在机顶盒项目中,使用网络ADB而非USBconnectADB.测试了一下,在adt-bundle-windows-x86_64-xxxx\sdk\platform-tools目录下,利用adb连接远端设备。
$adb.execonnect10.0.0.7:5555
然后使用VisualGDB调试,则它会自动找到远端设备并正常调试。赞一个。
2.3:创建一个纯NativeC可执行文件并调试:
选中Createacommand-lineAndroidexecutable.
其实这个就是常作的AndroidNativeC可执行程序。
可以正常加断点,Debug。
其它还可以CloneNDK的例子程序,打开Eclipse工程的程序等都可以正常使用。
VisualGDB进阶:
在实际工作中,工程常是以下几种情况,
NativeC可执行程序依赖于NativeC动态或静态库。
AndroidApp使用JNI调用NativeC的动态库,这个动态库又依赖于其它NativeC动态库。
现就这两种情况使用VisualGDB调试的情况尝试一下。
3.1:NativeC可执行程序调用NativeC动态库。
以Sam一个工程:V4L2_Utils为例。它由V4L2_Utils.cpp声成一个动态库。最终被Main.cpp所使用。
3.1.1:尝试一:
创建了一个NativeC可执行程序,注意,在AutomaticAndroid.mkupdating:中选择:
TheJNIfoldercontainsmultiplelibrariesorconditionalstantements.Youwillhavetoeditandroid.mkmanually.
也就是说,JNI目录内的文件,不要自动加入Android.mk中编译,如果需要,我们手动加入。
1.修改Application.mk为Sam常用模式。
#BuildbothARMv5TEandARMv7-Amachinecode.
APP_PLATFORM=android-8
APP_ABI:=armeabi-v7a
#APP_ABI:=$(ARM_ARCH)
#Sammodifyittorelease
#APP_OPTIM:=release
APP_OPTIM:=debug
#APP_OPTIM=$(MY_OPTIM)
APP_CPPFLAGS+=-fexceptions
APP_CPPFLAGS+=-frtti
#sammodifyitfromgnustl_statictognustl_shared
#APP_STL:=gnustl_static
#APP_STL:=gnustl_shared
APP_STL:=gnustl_shared
#APP_CPPFLAGS+=-fno-rtti
#
APP_CPPFLAGS+=-Dlinux-fsigned-char
APP_CFLAGS+=-fsigned-char
2.把V4L2_utils.cpp,V4L2_Utils.h放到jni目录中。但不加入到工程中(否则会自动加入编译)
3.修改Android.mk
#GeneratedbyVisualGDB
LOCAL_PATH:=$(callmy-dir)
include$(CLEAR_VARS)
LOCAL_MODULE???:=TestNDK
LOCAL_ARM_MODE:=arm
#VisualGDBAndroid:AutoUpdateSourcesInNextLine
LOCAL_SRC_FILES:=TestNDK.cpp
LOCAL_C_INCLUDES:=
LOCAL_STATIC_LIBRARIES:=
LOCAL_SHARED_LIBRARIES:=
LOCAL_LDLIBS:=
LOCAL_CFLAGS:=
LOCAL_CPPFLAGS:=
LOCAL_LDFLAGS:=
COMMON_SRC_FILES:=$(LOCAL_SRC_FILES)
LOCAL_STATIC_LIBRARIES:=Camera_V4L2
include$(BUILD_EXECUTABLE)
include$(CLEAR_VARS)
LOCAL_ARM_MODE:=arm
LOCAL_MODULE:=Camera_V4L2
LOCAL_SRC_FILES:=v4l2_util.cpp
LOCAL_CXXFLAGS:=-D_GLIBCXX_USE_WCHAR_T-I./
LOCAL_LDLIBS:=-llog
include$(BUILD_SHARED_LIBRARY)
编译,果然生成libCamera_V4L2.so,和TestNDK.但这个办法显然不是好办法。
因为调试时,只能调试主程序:TestNDK.cpp。而无法调试动态库。且debug时,VisualGDB甚至不会自动把动态库push到开发板上。
3.1.2:尝试二:
建立两个工程,其中一个工程是Main.cpp生成可执行程序。
另一个工程是V4L2_Utils.cpp生成动态库。
利用Vs工程的依赖方法让第一个工程依赖于第二个。
编译,一切正常。但可悲的是,visualGDB还是不会自动把动态库push上去。且它竟然没法exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
导致无法调试。
这两个尝试其实都是失败的。难道VisualGDB只适合调试JNI下的NativeC库?
尝试三:
干脆把V4L2_Utils.cpp加入工程一。则不再生成动态库,直接合并入可执行文件中。这样则可以调试。
但这显然不是个好办法。无法满足真正的项目调试。
Tags:visualgdb,VS开发,安卓开发.
魔兽地图:布诺尔世界的传说1.15游戏地图 / 362.76MB / 2010-8-20 / WinAll, WinXP, Win7, win8 / / 小编点评:布诺尔世界的传说1.15是这个系列O.
下载
疾风忍法帖—风之逆游戏地图 / 131.81MB / 2014-2-26 / WinAll, WinXP, Win7 / / 小编点评:疾风忍法帖—风之逆,六道轮回,地爆.
下载
广安中医养生iOS版ios运动养生 / 39.18MB / 2017-12-15 / 苹果iOS / / 小编点评:广安中医养生iOS版是一款非常不错.
下载
鸿鹄3D化学教育学习 / 471.44MB / 2023-2-7 / WinXP, WinAll / / 小编点评:更新日志鸿鹄3D化学V3.85解决了部分.
下载
魔兽地图:幻世录黑暗再临1.05游戏地图 / 442.56MB / 2012-5-20 / WinAll, WinXP, Win7, win8 / / 小编点评:幻世录黑暗再临1.05是一张角色扮.
下载
魔兽地图:火影忍者变革1.1正式版游戏地图 / 528.12MB / 2011-11-3 / WinAll, WinXP, Win7, win8 / / 小编点评:火影忍者变革1.1正式版是对抗地图-.
下载
魔兽地图:神的世界2.9(附隐藏英雄密码)游戏地图 / 436.88MB / 2019-2-22 / WinAll, WinXP, Win7, win8 / / 小编点评:神的世界2.9是防守地图神的世界的最.
下载
仙尘旧念-1.7正式版【全定制英雄+赞助礼包+定制武器+P闪+刷物品】游戏地图 / 111.3MB / 2022-12-12 / WinAll, WinXP, Win7, win8 / / 小编点评:仙尘旧念1.7破解版主要破解了原本地图中的.
下载
魔兽地图:神魔之战1.2.0淡玄神话(附隐藏英雄密码)游戏地图 / 316.14MB / 2016-6-4 / WinAll, WinXP, Win7, win8 / / 小编点评:神魔之战1.2.0淡玄神话修复了击杀.
下载
傲斗凌云v1.1.8【隐藏英雄密码】游戏地图 / 250.9MB / 2021-3-26 / WinAll, WinXP, Win7, win8 / / 小编点评:傲斗凌云v1.1.8【隐藏英雄密码】是傲斗凌云.
下载
小兵的逆袭a3.8游戏地图 / 61.39MB / 2010-5-8 / WinAll, WinXP, Win7, win8 / / 小编点评:小兵的逆袭a3.8【攻略】今天更新啦!新版.
下载
真的守不住么1.0.4游戏地图 / 558.27MB / 2010-7-14 / WinAll, WinXP, Win7, win8 / / 小编点评:真的守不住么1.0.4是一张标准的.
下载
安乐窝app下载-安乐窝 v2.0.1 手机版生活服务 / 536.32MB / 2015-4-4 / / 小编点评:软件介绍安乐窝app是一款提供家居建.
下载
剪影少女2汉化版下载-剪影少女2安卓破解版下载v1.4 安卓版
进击的火柴巨人汉化破解版下载-进击的火柴巨人中文版破解版下载v1.29.1 安卓免费版
监狱暴力无限血破解版下载-监狱暴力中文破解版下载v1.260 安卓汉化版
亿企查app下载-亿企查官方版下载v15.03.02 安卓版
新华美育手机版下载-新华美育app下载v1.0 安卓版
物理手机版下载-物理app下载v2.0.1 安卓版
高校女孩动漫剑战游戏下载-高校女孩动漫剑战最新版(HighSchool Girls)下载v1.3 安卓版
历史学习通手机版下载-历史学习通app下载v1.1 安卓版
高考志愿宝典官方版下载-高考志愿宝典app下载v1.2.7 安卓2023版
读书心得鸭app最新版下载-读书心得鸭手机版下载v1.0.0 安卓版
高考志愿填报通app下载-高考志愿填报通官方版下载v1.6.20 安卓版
不想背单词软件最新版下载-不想背单词app官方版下载v100 安卓版
肯德基app下载-肯德基 v4.770 手机版
生活服务 / 666.43MB / 2023-10-16 / / 下载
凯德物联app下载-凯德物联 v1.1.0 安卓版
生活服务 / 922.86MB / 2020-2-2 / / 下载
锁见app下载-锁见 v2.4.0 手机版
生活服务 / 151.16MB / 2021-10-26 / / 下载
猫狗语言交流器app下载-猫狗语言交流器 v1.0.4 安卓版
生活服务 / 372.36MB / 2019-10-13 / / 下载
烘焙之光app下载-烘焙之光 v1.20.344 手机版
生活服务 / 298.8MB / 2020-8-12 / / 下载
中区融媒app下载-中区融媒 v1.0.8 安卓版
生活服务 / 762.40MB / 2011-8-22 / / 下载
小艾帮帮app下载-小艾帮帮 v1.1.200908 安卓版
生活服务 / 477.77MB / 2011-12-18 / / 下载
蓝白猫app下载-蓝白猫 v1.0 手机版
生活服务 / 476.32MB / 2015-3-15 / / 下载
云梦(暂未上线)
动作闯关 / 149.16MB / 2021-12-28 / Win8,Win7,Vista,WinXP / 简体中文 / 免费软件 下载
忍者印记简体中文版(暂未上线)
动作闯关 / 564.1MB / 2023-6-11 / Win8,Win7,Vista,WinXP / 简体中文 / 免费软件 下载
骑士奔跑破解版下载-骑士奔跑汉化破解版下载v1.0.0 安卓版
动作游戏 / 77.81MB / 2014-8-26 / Android / 中文 / v1.0.0 安卓版 下载
拖车大赛模拟游戏下载-拖车大赛手机版下载v1.0 安卓版
赛车竞速 / 958.51MB / 2012-1-2 / Android / 中文 / v1.0 安卓版 下载
竞速飞车红包版下载-竞速飞车游戏下载v1.0 安卓版
赛车竞速 / 953.11MB / 2016-7-18 / Android / 中文 / 北京摩丰科技有限公司 / v1.0 安卓版 下载