android NDK 单步调试问题


按照 http://www.oschina.net/question/1402563_133543 方式,配置eclipse NDK
按照 http://tools.android.com/recent/usingthendkplugin 配置NDK单步调试
进行单步调试,编译完成之后,出现以下问题,百思不得其解,寻求问题解决方式:
问题如下:
(no debugging symbols found)
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
No symbol table is loaded.  Use the "file" command.
mi_cmd_var_create: unable to create variable object
mi_cmd_var_create: unable to create variable object
Quit (expect signal SIGINT when the program is resumed)

(no debugging symbols found)
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
No symbol table is loaded.  Use the "file" command.


调用代码:
package com.example.helloworldndk;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
private Test test;
Button btn = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.loadLibrary("hellotest");
test = new Test();
Log.i("MyTest", "==>>" + test.test());
}
});



}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}


/**
 * 
 */
package com.example.helloworldndk;

/**
 * @author wanji-wangcs
 *
 */
public class Test {
public native String test();

}


JNI C 代码:

#include <stdio.h>
#include <jni.h>
#include "com_example_helloworldndk_Test.h"

JNIEXPORT jstring JNICALL Java_com_example_helloworldndk_Test_test
(JNIEnv *env, jobject obj)
{
int i =1;
return (*(*env)).NewStringUTF(env, "hello from c, Hello World");
}

1 个解决方案

#1


看一下,AndroidManifest.XML中application选项卡里是不是没有加android:debuggable="true",C++build里面有没有加NDK_DEBUG=1

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2019 ITdaan.com

赞助商广告