Debugger REPL has no memory

Abierto
#249 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
julia
Área
devtools

Línea de trabajo

Reproduce el ejemplo del issue usando la Julia REPL, @enter foo(3), la ejecución en el contexto de backticks y n. Empieza trazando cómo la REPL del depurador evalúa las expresiones en el contexto de la función actual y cómo n avanza la ejecución. Se considera terminado cuando las asignaciones siguen estando disponibles en ese contexto y n avanza según el comportamiento esperado de las líneas de código fuente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

julia> function foo(x)
           y = 2x
           a = 1
           return a + y
       end
foo (generic function with 2 methods)

julia> @enter foo(3)
In foo(x) at REPL[13]:2
 1  function foo(x)
>2      y = 2x
 3      a = 1
 4      return a + y
 5  end

About to run: (*)(2, 3)
1|debug> n
In foo(x) at REPL[13]:2
 1  function foo(x)
 2      y = 2x
 3      a = 1
>4      return a + y
 5  end

About to run: (+)(1, 6)
1|julia> asdf = 1234  # I typed ` here to run code in the context of foo() 
1234

1|julia> asdf
ERROR: UndefVarError: asdf not defined

Another issue with this example, unrelated to the title of this issue, is that when I hit n it ran both the y = 2x line and the a = 1 line. As far as I know, hitting n should only run one line.

Lenguaje dominante
Julia
Estrellas
515
Forks
50
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JuliaDebug/Debugger.jl

Todos los issues de JuliaDebug/Debugger.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.