Debugging functions with log macros is very annoying
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Reproduce el ejemplo del issue con @enter f() y avanza paso a paso por la llamada a @info usando n. Empieza rastreando cómo el depurador gestiona las macros de logging e identifica una forma adecuada de volver a la función del usuario. Se considerará terminado cuando sea posible avanzar sobre el código de logging o salir de él sin recorrer manualmente sus internos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
For example:
julia> function f()
x = rand(4)
@info "hello"
y = rand(4)
return x, y
end
f (generic function with 1 method)
julia> @enter f()
[ Info: Loading Debugger ...
In f() at REPL[1]:1
1 function f()
>2 x = rand(4)
3 @info "hello"
4 y = rand(4)
5 return x, y
6 end
About to run: (rand)(4)
1|debug> n
In f() at REPL[1]:1
382 let
383 level = $level
384 # simplify std_level code emitted, if we know it is one of our global constants
385 std_level = $(level isa Symbol ? :level : :(level isa $LogLevel ? level : convert($LogLevel, level)::$LogLevel))
>386 if std_level >= $(_min_enabled_level)[]
387 group = $(log_data._group)
388 _module = $(log_data._module)
389 logger = $(current_logger_for_env)(std_level, group, _module)
390 if !(logger === nothing)
About to run: (getindex)(Base.RefValue{Base.CoreLogging.LogLevel}(Debug))
There seems to be no easy way to step out of the logging code so you kinda have to n your way through it...
- 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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaDebug/Debugger.jl
-
tagbot-manual
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaDebug/Debugger.jl#410 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
JuliaDebug/Debugger.jl#423 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
JuliaDebug/Debugger.jl#422 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
JuliaDebug/Debugger.jl#418 · 1 comentario ·
-
Syntax highlighting warningAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
JuliaDebug/Debugger.jl#417 · 1 comentario ·
Todos los issues de JuliaDebug/Debugger.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Review dependenciesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
osrep/Runes2P.jl#283 ·
Los mantenedores suelen responder en 1 día