报告 Bug

报告 Bug

感谢你对 Android 的兴趣!你能够帮助我们改善 Android 最好的一个方法是让我们知道关于你在它上面发现的任何问题。

首先,虽然:假如你想你已经发现一个安全漏洞,请不要用下面的形式。用下面可能允许任何人看你的报告的公开的形式,可能置用户在风险知道 bug 被修复。请访问我们的安全常见问题更多信息在报告安全漏洞给 Android 安全团队上。

这是如何报告非安全 bugs:

  • 搜索你的 bug 看假如任何人已经报告了它。

  • 假如你发现你的问题和它对你是重要的,开始它!这是我们如何知道 bugs 是最重要来修复。

  • 假如没有人报告你的 bug,归档 bug。你能用这些模板中的一个:

请注意,我们不能保证任何特定的 bug 能被修复在任何特别的发布。看一旦你报告你的 bug 发生了什么,读一个 Bug 的生命.

一般,请尽你所能提供关于 bug 的更多信息。仅仅一个单行告诉我们一些东西是不能工作是常常无用的,和将多半关闭没有任何行动。你提供更多细节,更有可能你的问题被解决。下面,这些是一些例子,一个好的 bug 报告和一个差的 bug 报告.

一个差的 Bug 报告

Title: Error message

When running Eclipse I get an "Internal Error" that says "See the .log file for more details".

Steps to reproduce:
Happens when "Object o = null". Doesn't happen when changed to "Object o".

Expected results:
I wouldn't get the error message--would work with Object o = null.

Observed results:
See above.
标题:错误信息

当我运行 Eclipse,我获得一个"内部错误",这说"更多详情看 .log 文件"。

重现步骤:
当"Object o = null"时发生。当改变为"Object o"时不发生。

预期结果:
我不想获得这错误消息--像工作用 Object o = null。

观察结果:
看上面。

这是一个差的报告,因为它没有提供这个问题的一些环境;它是在 Dalvik 虚拟机里的一个问题,核心框架,或别的一些东西?它也没有提供一些代码或暗示如何重现它。换句话说,这个 bug 报告没提供足够信息让任何人执行,所以它将被忽略。

一个好的 Bug 报告

Title: Stepping over "Object o = null" causes Eclipse "Internal Error"

Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:

package com.saville.android;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class TestObjectNull extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        Object o = null;

        o = "hi";

        Log.v(TAG, "o=" + o);
    }

    static final String TAG = "TestObjectNull";
}

Eclipse indicates an "Internal Error" with "See the .log file for more
details" and then asks if I want to exit the workbench. This occurs when I
place a break point on "setContentView(R.layout.main);" and then single
step over "Object o = null;"

If I change "Object o = null;" to "Object o" all is well.

The last lines of the .log file are:

!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
!MESSAGE An internal error occurred during: "has children update".
!STACK 0
java.lang.InternalError: Invalid signature: "<null>"
        at
org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
        at
org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
        at
org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
        at
org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
        at
org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
标题:加强 "Object o = null",原因 Eclipse "内部错误"

有趣的 bug,当用 Eclipse 3.3.1.1 关于 m37a 的 android 和下面的代码:

package com.saville.android;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class TestObjectNull extends Activity {
    /** 当活动第一次被创建时调用。 */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        Object o = null;

        o = "hi";

        Log.v(TAG, "o=" + o);
    }

    static final String TAG = "TestObjectNull";
}

Eclipse 指示一个"内部错误"同"更多细节看 .log 文件",并且然后问
我是否要退出工作台。这发生在当我放一个断点在"setContentView(R.layout.main);"
和然后单步到"Object o = null;"

假如我改变"Object o = null;"为"Object o"一切都好。

.log 文件的最后几行是:

!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
!MESSAGE An internal error occurred during: "has children update".
!STACK 0
java.lang.InternalError: Invalid signature: "<null>"
        at
org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
        at
org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
        at
org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
        at
org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
        at
org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值