2014-04-17 52 views
0

在我的Windows 7平台上,我安装了最新版本的adt软件包(20140321)和ndk(r9d)。安装过程非常干净。环境变量NDK_ROOT,PATH等都已正确定义。Eclipse ADT - 原生调试

我正在使用的应用程序有一些使用armeabi-v7a ABI构建的本机代码。应用平台是andorid-19。项目设置将构建定义为“ndk-build NDK_DEBUG = 1”。

从Eclipe,当我在我的三星平板电脑上调试我的应用程序为“Android Java应用程序”时,一切都按预期工作。但是,当我尝试将应用程序调试为“Android Native Application”时,出现以下错误:

Attempting to connect debugger to 'com.mycomp.myapp' on port 8604 
gdbserver output: 
Cannot attach to lwp 28275: Operation not permitted (1) 

Exiting 

Verify if the application was built with NDK_DEBUG=1 

应用程序在设备上运行良好。

我已经看过在stackoverflow上的各种消息。但是,我找不到解决这个问题的具体步骤。希望你能指引我朝着正确的方向前进。问候。

回答

0

我有同样的问题。在浪费了一些时间之后,我发现当我没有任何操作返回我的简单功能时就不会发生问题。

void dmpBuffer(char* msg, unsigned char* buffer, int buffLen) 
{ 
    //return; 
    char szDumpBuffer[128]; 
    for(int i=0; i<buffLen; i++) 
     sscanf(&szDumpBuffer[i*2], "%02X", buffer[i]); 
    LOGE("%s:%s", msg, szDumpBuffer); 
} 

也许是因为内存问题。

更新: 正如我曾猜测这是内存问题。 我的大错误是使用sscanf而不是sprintf! 我的问题解决了。

+1

这是一个答案? – Disposer

+0

如你所愿。这是经验分享不完全的答案。 – user2420654