Я использую eclipse и ndk-gdb для отладки моей программы AndroidNDK, но я нахожу проблему, инструменты ndk-gdb, похоже, не имеют функции "сохранения стека" при пробое программы, я не могу найти подробную информацию из ndk- gdb, он не указывает, какая функция, какой класс и какая строка просто дает такую информацию: * Программный сигнал SIGSEGV, ошибка сегментации.0xafd0cda4 в memcpy() из D: /android/ndk/samples/mango_d/obj/локальный /armeabi/libc.so *
так что мне было интересно, есть ли способ увидеть больше информации (последнее предложение, вызванное программой или другие), когда разбивка программы, спасибо кулаку
Вы можете попробовать использовать программу ndk-stack, проконсультироваться с doc в ndk, docs/NDK-STACK.html
Если вы скомпилируете источник c
ndk-build NDK_DEBUG=1 APP_OPTIM=debug
вы должны иметь возможность называть нечто подобное, подобное этому
adb -s %TARGET_INSTALL% logcat DEBUG:I | ndk-stack -sym ./obj/local/armeabi-v7a
что вы получите исходный код и трассировку стека строк для seg-fault.