我是Studio的新手。我正在调试时发生了疯狂的事情。我在片段上放了几个断点。调试它时会遇到断点,但是也会破坏我没有设置的sdk源代码行。因此,当我走出去时,它会落在SDK代码行上!!我真的不想抓住这一切,但走出去只是跳到另一个SDK线。这是默认行为吗?有谁知道如何关闭它。
答案 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对此进行了测试:
Log.d()
onClick()
上设置断点
View.class
的{{1}} / View.java
的源窗口将在新窗口中打开并继续调试点击&#34;恢复&#34;在Eclipse ADT或Android Studio的第5步中,恢复应用程序的执行,并且不会破坏Android源代码。
此示例是否正确代表了您在问题中的提问?
答案 1 :(得分:0)
如果你在MAC Alt-Cmd-R将转到下一个断点。为什么Android Studio中没有这样的调试器步骤超出我的范围。请有人解决这个问题。