Debugowanie kodu NDK C / C ++ na Androida w Eclipse - punkty przerwania nie są trafiane

Pobrałem pakiet Android SDK dla systemu Linux i Android NDK. ADT został zainstalowany, zainstalowałem CDT.

Stworzyłem projekt na Androida i dodałem natywną obsługę (jni). Następnie napisałem natywną funkcję w kodzie java, która eksportuje w kodzie c ++. W kodzie c ++ zdefiniowałem tę funkcję.

Kod Java:

static {
    System.loadLibrary("test");
}

private native String get_text_from_cpp();

kod c ++ (h):

extern "C"{
   JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv *, jobject);
}

kod c ++ (cpp):

JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv * env, jobject){
    return env->NewStringUTF( "hello from C++" );
}

Kod działa bez błędów. Ale kiedy ustawiam punkt przerwania w kodzie c ++, nie jest on trafiany.

build-nkd NDK_DEBUG = 1 - są uwzględnione

Przestrzegałem tej instrukcjihttp://tools.android.com/recent/usingthendkplugin

Android.mk w jni / has LOCAL_CFLAGS: = -g

Przeczytałem bardzo dużo informacji, ale nie mogłem dostosować Eclipse. Proszę, pomóżcie komukolwiek.

PS: Przykro mi, że mój angielski nie jest moim językiem ojczystym. Mam trudności na piśmie.

Dodaj: Również podczas debugowania w pokazach konsoli: „ostrzeżenie: Nie można załadować symboli biblioteki współdzielonej dla 95 bibliotek, np. / System / bin / linker. Użyj polecenia„ info sharedlibrary ”, aby wyświetlić pełną listę. Czy potrzebujesz„ ustawić solib- search-path "lub" set sysroot "? warning: Nie można znaleźć dynamicznej funkcji punktu przerwania linkera. GDB będzie ponawiał próbę. W międzyczasie jest prawdopodobne, że GDB nie jest w stanie debugować inicjatorów współdzielonej biblioteki ani rozwiązywać oczekujących punktów przerwania po dlopen ()."

questionAnswers(6)

yourAnswerToTheQuestion