【问题标题】:"Break On Exception" in Eclipse/AndroidEclipse/Android 中的“异常中断”
【发布时间】:2011-06-14 10:55:50
【问题描述】:

我主要是 C#/VS 开发人员,但在不久的将来会调试 Android 应用程序。我似乎无法在 eclipse 中找到一个设置,它会导致它在发生异常时闯入调试器(无论是否有异常处理程序处理它)。

Visual Studio 中可以通过“调试”>“例外”菜单使用此功能。

eclipse 中有没有类似的东西?否则,假设对代码库的初步了解有限,如何找出异常的来源?

【问题讨论】:

    标签: android eclipse debugging


    【解决方案1】:

    我不知道这是否也适用于 Android 调试,但该功能可用于 Java。在 Eclipse 中,切换到“调试”透视图。在“断点”视图中,您会注意到一个带有 J 和感叹号的小图标(在右上角,靠近视图的“最小化”按钮)。这是添加“异常”断点的触发器。

    通过此对话框,您可以告诉调试器暂停以及已捕获和未捕获的异常。

    【讨论】:

    • 不客气,这是我最喜欢的调试工具之一:p。
    • 太棒了,是的,完全做到了。但是,它在一些 API 调用中中断,只是显示一个无用的屏幕,要求我指向源文件。有没有办法告诉它只中断用户级代码?例如, MyMethod > SomeApiCall > SomeInternalCall > exception is throw ...在这种情况下,我希望它在 MyMethod 中的 SomeApiCall 上中断,因为我对生成的内部调用不感兴趣异常
    • 乔尔,你不能(AFAIK)打破一个特定的例外:它会在所有那种例外上停止。至于停在“SomeApiCall”而不是“SomeInternalCall”;你不能直接这样做:设置异常断点,等待它被抛出,选择(在“调试”视图中)要返回的方法,并使用“drop to frame”动作“返回”在从“SomeInternalCall”到“SomeApiCall”甚至更远的堆栈跟踪中。这很难描述...certpal.com/blogs/2009/09/eclipse-tips-and-tricks-part-2 在“使用拖放到帧操作”中有一个截图
    • 如果与您相关,请确保进入并检查断点属性中的“此异常的子类”。我原以为这是默认行为。
    【解决方案2】:

    假设对代码库的初步了解有限,如何找出异常的来源

    检查堆栈跟踪,您可以找到导致异常的行。所以你可以用 try/catch 和 pus 断点来包装这个来捕捉。

    【讨论】:

      【解决方案3】:

      您应该在AndroidManifest.xml 中声明一个可调试的项目第二,调试器应该有一个您不想检查代码的断点。在eclipse的调试器中启动项目时,视图会在遇到断点时自动跳转到调试器。

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2011-03-28
        • 2014-09-03
        • 1970-01-01
        • 2015-07-09
        • 1970-01-01
        • 2014-10-31
        • 1970-01-01
        • 1970-01-01
        • 2013-10-02
        相关资源
        最近更新 更多