2011-06-14 8 views
17

Soy principalmente un desarrollador de C#/VS, pero voy a depurar una aplicación de Android en el futuro cercano. Parece que no puedo encontrar una configuración en eclipse que provoque que se rompa en el depurador cuando se produce una excepción (independientemente de si hay un manejador de excepciones que lo maneje)."Break On Exception" en Eclipse/Android

Esta función está disponible en Visual Studio a través del menú Depurar> Excepciones.

¿Hay algo similar en eclipse? de lo contrario, ¿cómo se puede averiguar el origen de una excepción asumiendo un conocimiento inicial limitado de la base del código?

Respuesta

25

No sé si esto también se aplica a la depuración de Android, pero la función está disponible para Java. En Eclipse, cambie a la perspectiva de "depuración". En la vista "Punto de inflexión", observará un pequeño icono (en la esquina superior derecha, cerca del botón "minimizar" de la vista) con una J y un signo de exclamación. Este es el disparador para agregar puntos de interrupción "excepción".

Con este cuadro de diálogo, puede indicar al depurador que suspenda y excepciones capturadas y no detectadas por igual.

+0

¡Lo encontró y funciona de esa manera! – BadSkillz

+0

De nada, esa es una de mis herramientas de depuración favoritas: p. – Kellindil

+0

increíble, sí, eso fue todo. Sin embargo, se rompe dentro de una llamada API, y solo me muestra una pantalla inútil que me pide que apunte al archivo fuente. ¿Hay alguna manera de decirle que solo se rompa en el código de nivel de usuario? así que, por ejemplo, se lanza MyMethod> SomeApiCall> SomeInternalCall> * excepción ... ... en este escenario me gustaría romper SomeApiCall en MyMethod porque no estoy interesado en la llamada interna que generó la excepción –

0

¿Cómo se puede averiguar la fuente de una excepción limitada asumiendo el conocimiento inicial de la base de código

Inspectind seguimiento de la pila se puede encontrar la línea que causa una excepción. Así que puedes envolver esto con try/catch y pus breakpoint para atrapar.

0

Debe declarar un proyecto depurable en el AndroidManifest.xml En segundo lugar, el depurador debe tener un punto de interrupción donde desea inspeccionar el código. Al iniciar el proyecto en depurador en eclipse, la vista saltará automáticamente al depurador cuando llegue a un punto de interrupción.

Espero que esto ayude!