para intellij idea full community java groovy intellij-idea

java - community - intellij idea full linux



¿Puedo averiguar el valor de retorno antes de regresar mientras estoy depurando en Intellij? (3)

Con:

Object method(){ ... return /* some complex expression */ }

¿Hay alguna manera de ver qué valor se devolverá durante la depuración? ¿Como establecer de alguna manera un punto de ruptura que se golpearía justo después de la devolución, pero antes de que la ejecución vaya al código de llamada? Me gustaría poder saber cuál es el valor de retorno y también ser capaz de ver qué valores de todas las variables locales son.

La forma en que lo hago ahora es haciendo una variable temporal: Object ret = /* something complex */; return ret; Object ret = /* something complex */; return ret; . Pero eso es una molestia y también agrega una línea de código adicional innecesaria.

Nota: Esta es la misma pregunta que puedo averiguar el valor de retorno antes de regresar mientras se depura en Visual Studio , pero para intellij.


En IntelliJ IDEA 2016.3: está oculto dentro del botón Cog del panel de depuración. Asegúrese de que Show Method Return Values esté marcado .

Utilice el depurador para dividir en algún lugar dentro de la función cuyo valor de retorno le gustaría ver.

Salga de la función (o camine hasta que escape):

Observe que el valor de retorno aparece en sus variables:


Hay un botón Ver valores de retorno del método disponible en el panel del depurador .

Ver los valores devueltos del método : haga clic en este botón para ver los valores devueltos del último método ejecutado.

Configuración IDEA 12:


Parece que hay un par de formas en que puedes hacer esto. El primero consiste en configurar el punto de interrupción en la firma del método, en su caso establecería un punto de interrupción en el método Object () {. Esto le permitirá observar la entrada y salida del método. Creo que debes usar esto junto con " Ver los valores de retorno del método" como se indicó anteriormente, pero no he podido probarlo completamente, ya que lleva demasiado tiempo calcularlo. Tenga cuidado, esto reduce drásticamente el rendimiento del depurador y llevará más tiempo depurar.

También puede hacer lo siguiente manualmente.

  1. Configure el punto de interrupción en la línea de retorno.
  2. Cuando se golpea la línea de retorno, haga clic en la línea de retorno, específicamente coloque el cursor sobre la operación que desea ver, luego vaya a Ejecutar-> Evaluar expresión (o Alt-F8) y debería ejecutar la expresión en ese punto y devolver lo que está devolviendo

Nota : Si crea un punto de interrupción, hay muchas cosas que le puede decir a IDEA que haga con ellas, como por ejemplo si rompe un punto de interrupción, puede indicarle que ejecute una expresión y lo logre. Puede mirar a su alrededor con lo que puede hacer si hace clic con el botón derecho en un punto de interrupción y hace clic en Propiedades.

ACTUALIZACIÓN : prueba esto junto con la primera forma de hacerlo. No utilice "Ver valores de retorno del método" ya que parece ralentizar o congelar la sesión de depuración. En lugar de hacer lo siguiente

  1. Haga clic derecho en la expresión de retorno que desea ver y haga clic en "Agregar a los relojes"
  2. A continuación, agregue un punto de corte de método como se indicó anteriormente.
  3. Depure su programa y su método se dividirá en la firma del método.
  4. Presione la tecla F9 para continuar y se romperá nuevamente DESPUÉS de que la expresión de retorno haya sido calculada y su expresión de retorno esté en la columna de observación.

Recuerde que los puntos de interrupción del método son más lentos, por lo que puede llevar más tiempo, una forma complicada de mejorar esto si observa demasiado golpe de rendimiento simplemente estableciendo el punto de inflexión de la declaración de retorno (sin tener un punto de corte de método) y luego agregando el método de punto de corte DESPUÉS de que el punto de ruptura de la declaración de retorno golpee y luego continúe.

Espero que esto ayude,