本机调试器崩溃:错误的文件描述符

时间:2012-05-10 16:17:30

标签: android debugging

我正在尝试在Android项目中调试C ++ Native代码,但是,在几天试图设置调试器后, 我有这个奇怪的,并且gdb引发​​了非常恼人的错误消息:

远程连接错误:文件描述符错误。

我在网上搜索了同样错误的人。有一些,但没有解决他们的问题......

详细说明了我如何设置我的Android项目:

  • 我在我的计算机上下载并安装了JDK,并设置了JAVA_HOME Variable
  • 下载最新的android ndk(r8),最新的android sdk
  • 安装了cygwin,包含c ++,gcc,gdb,make ...
  • 已安装eclipse Indigo for Java开发人员,以及以下软件包:CDT,ADT,Sequoyah

我创建了一个新的android项目,添加了原生支持,并在.mk文件中设置了以下行 (我认为其中一些线可能已被删除,但我想确定......):

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS    := -Wall -Werror -DANDROID_NDK -g
LOCAL_CPPFLAGS  := -Wall -Werror -DANDROID_NDK -g
LOCAL_LDLIBS    := -lm -llog -g -ggdb -O1
APP_OPTIM   := debug
LOCAL_MODULE    := native
LOCAL_SRC_FILES := native.cpp
include $(BUILD_SHARED_LIBRARY)

我在Project-> Properties-> Builders-> New-> Program:

中添加了一个新的构建器。
- Location: selection the ndk-build program, in your NDK directory
- Working Directory: Select the jni folder in your solution

我删除了Project-> Properties-> C / C ++ Build中的命令行,以避免通过调用make命令生成错误消息

我在“C / C ++常规”部分中为GNU C和GNU C ++部分添加了android ndk包含路径(ANDROID_NDK_ROOT \ platforms \ android-14 \ arch-arm \ usr \ include)

我创建了一个新的“C / C ++ Application”调试器,其中包含:     选择“使用标准创建流程启动器”

in the "Main" tab   

PATH_TO_MY_PROJECT\obj\local\armeabi\app_process in the "C/C++ Application" field
Name of my project in the "Project" field

我将构建配置设置为默认值。

在“调试器”选项卡中

    gdbserver in the debugger combobox

in the main subtab:

    GDB Debugger field:     PATH_TO_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gdb.exe
    GDB Command file:   PATH_TO_MY_PROJECT/obj/local/armeabi/gdb2.setup (I copied gdb.setup in gdb2.setup, and removed the last line as explained in most tutorials on the internet)

in the connection subtab:   
Type: TCP 
Host name: localhost
Port number: 5039 (the same as the one used by ndk-gdb)

我在清单中添加了android:debuggable =“true”行(另外还有.mk文件中的所有调试标志)

对于这个冗长的解释感到抱歉,但这将让您对我的配置有一个完整的了解。 我可能已经做了一些其他设置,但我认为这里解释了最重要的设置。 我在Windows 7 64上,我尝试了多种设备(模拟器,宏碁/华硕平板电脑,HTC智能手机......),其中一些已植根,但仍然崩溃。

我希望有人能够帮助我,我必须将整个项目移植到安卓...

如果有人将此调试器用于工作,我将很高兴了解您的配置!

提前致谢=)

0 个答案:

没有答案