【问题标题】:LLDB for Mediaplayer debugging用于媒体播放器调试的 LLDB
【发布时间】:2021-01-26 07:09:29
【问题描述】:

我正在尝试调试 MediaPlayer 类使用的本机库:

import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MediaPlayer mp = MediaPlayer.create(this, R.raw.lencia);
        mp.start();
   }
}

调试类型为(双 Java + Native)。但是当我把断点放在

MediaPlayer.java 位于:

  private void startImpl() {
        baseStart();
        stayAwake(true);
        _start();
    }

什么都没有发生。你能告诉我如何开始调试内置的 c++ 库吗?

【问题讨论】:

    标签: c++ android-studio lldb


    【解决方案1】:

    lldb 对 Java 或其调试信息一无所知,因此它无法从 Java 源文件中的源位置转换为代码中该方法的实现。您可以使用 lldb 调试应用程序的 Native 端,但不能调试 Java 端。你必须弄清楚你需要在 C 端打破什么并从那里开始,你不能从 Java 开始并步入 C。

    【讨论】:

      【解决方案2】:

      Android Studio 确实支持同时调试原生代码和 Java 代码。这在另一个帖子中得到了回答:

      Debug native code in Android Studio

      涵盖此“双重”调试的 Android Studio 页面的链接是: https://developer.android.com/studio/debug

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多