我一直在使用Android Studio 1.1调试多线程应用程序时遇到问题。看起来好像当一个断点被命中时,所有其他线程也停止,而不仅仅是一个断点。我使用Activity的onCreate中的以下方法创建了一个简单的测试应用程序。Android Studio线程调试
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread a = new Thread("thread-a") {
@Override
public void run() {
Log.v("thread", "thread-a");
}
};
Thread b = new Thread("thread-b") {
@Override
public void run() {
Log.v("thread", "thread-b");
}
};
a.start();
b.start();
}
我在线程和线程B中的Log.v行设置断点,然后我在调试模式下我的棒棒糖的Nexus 5
当应用程序开始运行它,它击中断点在线程-a中,但我注意到的第一个问题是应用程序的UI是空白的,就好像主线程已暂停一样。接下来,我去看看线程b中的断点也被命中,因此我在Android Studio的调试器中拉出线程视图,但是当我去展开线程b箭头时,什么也没有。当我展开主线程时,它显示它在onStart()的某个地方暂停。
我做得不对,或者这是不能调试一次调试多线程的?
2015-03-25
miguel
+0
相关: http://stackoverflow.com/questions/5818391/breakpoint-a-multi-thread-application和http://stackoverflow.com/questions/8174408/does-a-breakpoint-halt-all-threads –
2015-04-01 11:31:14
+1
顺便说一句,为什么Binder_1和Binder_2的状态为RUNNING,而其他所有线程都被挂起? –
2016-02-05 05:42:04