Debugging functions with log macros is very annoying
还没有人认领这个 Issue。
评估
调研方向
使用 @enter f() 重现 issue 中的示例,并使用 n 单步执行 @info 调用。首先跟踪调试器如何处理 logging 宏,并确定一种适当的方式返回用户的函数。完成的标准是:无需手动遍历 logging 代码的内部实现,就能单步越过或退出 logging 代码。
由索引模型根据 Issue 内容生成。
描述
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...
- 主要语言
- Julia
- 星标
- 515
- 派生
- 50
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
JuliaDebug/Debugger.jl 的其他 Issue
-
tagbot-manual
难度 2/5 1-3 小时 新手友好度 72/100
JuliaDebug/Debugger.jl#410 ·
-
难度 4/5 3-5 天 新手友好度 48/100
JuliaDebug/Debugger.jl#423 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
JuliaDebug/Debugger.jl#422 ·
-
难度 3/5 1-2 天 新手友好度 55/100
JuliaDebug/Debugger.jl#418 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 55/100
JuliaDebug/Debugger.jl#417 · 1 条评论 ·
查看 JuliaDebug/Debugger.jl 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 66/100
-
难度 2/5 1-3 小时 新手友好度 68/100
rafaqz/DimensionalData.jl#1253 ·
-
难度 1/5 1 小时以内 新手友好度 88/100
osrep/Runes2P.jl#283 ·
维护者通常 1 天内回复