When interacting with TimerOutputs.jl, only displays lowered code
还没有人认领这个 Issue。
评估
调研方向
首先,使用 @timeit 和 @enter,通过 Julia 1.11.3、Debugger 0.7.10 和 TimerOutputs 0.5.27 复现所提供的 MWE。检查 Debugger 如何处理计时函数及其 lowering 后的显示。完成的标准是:在保持计时启用的情况下,能够正常逐步执行原始函数的源代码。
由索引模型根据 Issue 内容生成。
描述
If I try to debug a function that I'm also timing using TimerOutputs, only lowered code is displayed, and I cannot step normally through the function.
MWE:
julia> using TimerOutputs
julia> using Debugger
julia> my_timer = TimerOutput()
────────────────────────────────────────────────────────────────────
Time Allocations
─────────────────────── ────────────────────────
Tot / % measured: 91.5ms / 0.0% 4.68MiB / 0.0%
Section ncalls time %tot avg alloc %tot avg
────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────
julia> @timeit my_timer foo() = begin
println("hello")
end
foo (generic function with 1 method)
julia> @enter foo()
In foo() at none:0
3 │ Core.NewvarNode(:(b₀#233))
4 │ Core.NewvarNode(:(accumulated_data#232))
5 │ local_to#230 = Main.my_timer
6 │ %6 = local_to#230
> 7 │ enabled#231 = Base.getproperty(%6, :enabled)
8 │ %8 = enabled#231
9 └─── goto #3 if not %8
10 2 ── %10 = local_to#230
11 └─── accumulated_data#232 = (push!)(%10, "foo")
About to run: <getproperty(─────────────────────────────...>
1|debug> n
hello
In foo() at none:0
28 10 ┄ %28 = @_8 === 1
29 └─── goto #12 if not %28
30 11 ─ Base.rethrow()
31 12 ┄ %31 = val#235
>32 └─── return %31
About to run: return
1|debug>
julia>
This using Julia-1.11.3, Debugger-0.7.10 and TimerOutputs-0.5.27.
Obvious workaround is to take out the timing while I'm debugging, but that's not ideal especially in a bigger code where there might be many timed functions.
- 主要语言
- 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 天内回复