Android Studio - 打破太深

时间:2015-03-30 20:51:48

标签: android android-studio

我是Studio的新手。我正在调试时发生了疯狂的事情。我在片段上放了几个断点。调试它时会遇到断点,但是也会破坏我没有设置的sdk源代码行。因此,当我走出去时,它会落在SDK代码行上!!我真的不想抓住这一切,但走出去只是跳到另一个SDK线。这是默认行为吗?有谁知道如何关闭它。

2 个答案:

答案 0 :(得分:0)

我不相信你想做的事情是可能的。调试器不知道您的代码和系统/框架代码之间的区别。您可以"单步进入","跳过"或"走出去#34;。

后者将您从当前函数调用中移出堆栈帧,直到调用函数的位置。如果你留下一个回调或生命周期函数,比如onCreate()by" step out"或者,你到达函数的调用者,这是系统中的某个地方。

这也不是Android Studio特有的。

我唯一能想到的是,在对你的问题的评论中也说了些什么,在代码中的每个函数的开头添加断点并使用" resume"一旦你点击系统代码。

我已经创建了一个简单的示例Activity来说明我正在谈论的内容,并且只是为了确保我们正在谈论相同的事情,因为您已经没有在您的问题中提供具体示例:

Activity

public class MainActivity extends ActionBarActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("MainActivity", "onClick"); // set breakpoint here
            }
        });
    }
}

琐碎的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.testuserpresent.MainActivity" >

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test" />

</RelativeLayout>

我使用Eclipse ADT和Android Studio对此进行了测试:

  1. Log.d()
  2. onClick()上设置断点
  3. 调试应用
  4. 点击按钮
  5. 应用程序在断点处停止
  6. 点击&#34;步骤返回&#34;或&#34;走出&#34;
  7. 来自包View.class的{​​{1}} / View.java的源窗口将在新窗口中打开并继续调试
  8. 点击&#34;恢复&#34;在Eclipse ADT或Android Studio的第5步中,恢复应用程序的执行,并且不会破坏Android源代码。

    此示例是否正确代表了您在问题中的提问?

答案 1 :(得分:0)

如果你在MAC Alt-Cmd-R将转到下一个断点。为什么Android Studio中没有这样的调试器步骤超出我的范围。请有人解决这个问题。