我正在Android Studio中调试我的Android应用,但它找不到本机代码的执行点,因此,变量也无法显示:
World::flush
看起来像这样:
void World::flush() {
LOGE_LS("Flushing cached chunks...");
for (chunk_lru_li *i = lru, *j; i != nullptr; i = j) {
if (i->item->flag == CHUNK_LI_DIRTY) {
LOGE_LS("Saving chunk (%d,%d).", i->item->key.x_div16, i->item->key.z_div16);
i->item->val->save();
LOGE_LS("Saved chunk.");
}
j = i->next;
delete i->item->val;
delete i->item;
delete i;
}
lru = nullptr;
mru = nullptr;
num_chunks = 0;
memset(chunks, 0, sizeof(chunks));
LOGE_LS("Flusing done.");
}
调试器类型设置为Native
。
将显示线程和调用堆栈。
这曾经在几个月前在同一项目中工作。
使用了共享库的发行版本,但这似乎不是原因。
我在调用堆栈中尝试了许多不同功能的变量,而不仅仅是屏幕截图中的lru
。
所有模块的构建版本均为debug
(否则该应用程序将完全无法调试)
感谢喵〜
答案 0 :(得分:0)
通过在CSDN博客上搜索得到解决:
iml
面板上打开其Project
文件:
<facet type="native-android-gradle" name="Native-Android-Gradle">
<option name="SELECTED_BUILD_VARIANT" value="release" />
release
更改为debug
。如果已经debug
,则说明不是 您的问题的原因。 CSDN博客上原始答案的链接:https://blog.csdn.net/wangyun522/article/details/78820569
不是英语,您可能不想签出。