首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android :找不到执行点

问android :找不到执行点
EN

Stack Overflow用户
提问于 2019-01-04 04:33:56
回答 1查看 53关注 0票数 1

我正在Android中调试我的Android应用程序,它找不到本机代码的执行点,因此也无法显示变量:

World::flush看起来是这样的:

代码语言:javascript
复制
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.");
}
  1. 调试器类型设置为Native。
  2. 显示线程和调用堆栈。
  3. 几个月前,在同一个项目中,这个方法是可行的。
  4. 使用了共享库的发布版本,但似乎不是原因。
  5. 我在调用堆栈中尝试了许多不同函数的变量,而不仅仅是屏幕截图中的lru。
  6. 所有模块的构建变体都是debug (否则应用程序根本无法调试)

谢谢喵~

EN

回答 1

Stack Overflow用户

发布于 2019-01-05 03:55:39

通过在CSDN博客上搜索解决:

  1. 找到包含c/c++代码的模块,在iml面板上打开它的Project文件:

​

  1. 找到这个标签:<facet type="native-android-gradle" name="Native-Android-Gradle">

​

  1. 在标签下面找到<option name="SELECTED_BUILD_VARIANT" value="release" />
  2. 将release更改为debug。如果它已经是debug,那么似乎而不是是您的问题的原因。
  3. 保存并关闭文件,然后执行Gradle同步。
  4. 现在应该修好了。如果没有,清洁的构建可能有帮助,也可能没有帮助。

CSDN博客原始答案链接:https://blog.csdn.net/wangyun522/article/details/78820569

它是,而不是英文,,你可能不想看它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54033165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档