使用Eclipse调试Android应用程序时“找不到源”

时间:2012-01-30 09:54:50

标签: android eclipse breakpoints

代码如下,我在某一行设置断点(我在下面的代码中标记了它,事实上,Eclipse总是告诉我“找不到源”,无论我在哪里设置断点):

package com.app.MainActivity;

import java.io.IOException;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Chapter03_ResourceActivity extends Activity {
    /** Called when the activity is first created. */

    private Button myButton;
    final private TextView myTextView = (TextView)findViewById(R.id.text_xml);

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myButton = (Button)findViewById(R.id.btn_xml);

        myButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
            StringBuilder sb = new StringBuilder();                   <==Here breakpoint
            XmlResourceParser xrp = getResources().getXml(R.xml.test);
            int counter = 0;
            try {
                while(xrp.getEventType() != XmlPullParser.END_DOCUMENT) {
                    if(xrp.getEventType() == XmlPullParser.START_TAG) {
                        String name = xrp.getName();
                        if(name.equals("customer")) {
                            counter ++;
                            sb.append(counter + " Customer" + "\n");
                            sb.append(xrp.getAttributeValue(0) + "\n");
                            sb.append(xrp.getAttributeValue(1) + "\n");
                            sb.append(xrp.getAttributeValue(2) + "\n\n");
                        } 
                        xrp.next();
                    }
                } 
            myTextView.setText(sb.toString());
            } catch(IOException e) {
                e.printStackTrace();
            } catch(XmlPullParserException e) {
                e.printStackTrace();
            } 
            }
        });
    }
}

运行 - 调试,然后我得到一个提示:找不到源。为什么? Eclipse不能在我提供的代码中的断点处停止吗?为什么eclipse需要更多源代码?

2 个答案:

答案 0 :(得分:13)

这有帮助吗?

  1. 开始调试,直到遇到断点

  2. 右键单击Debug透视图的Debug视图(例如在调用堆栈上),然后选择“Edit Source Lookup Path”

  3. 将所有项目添加到“默认”上方,通过“添加...”&gt; “Java项目”&gt; “全选”

答案 1 :(得分:1)

您需要将android源添加到您的项目中。问题是当你进入一个android类文件(例如import android.app.Activity)时,你正在从你的代码中走出来并进入一个android类文件。