Breaking in StdLib while not stepping into
- 主要語言
- Python
- 星號
- 734
- 分支
- 412
- 平均合併
- 1 天 5 小時
- 30 天內合併 PR
- 8
描述
JupyterLab 3.3.0a3 has a kernel sources panel which displays the loaded py files loaded (so the core python libraries, and userland libraries). This aims to offer the user the ability to add breakpoints and debug to see what happens in those userland libraries.
https://github.com/ipython/ipykernel/pull/812 has added the needed option to be able break into those stdlib files, while https://github.com/ipython/ipykernel/pull/839 has removed it. The removal is due to https://github.com/ipython/ipykernel/issues/832 where the step was going to the line in the call stack. Interesting to note, today the side effect describe in https://github.com/jupyterlab/jupyterlab/pull/11566#issuecomment-983668657 (breaking in selector.py) has disappeared.
Thinking a bit more, the behavior is expected. When we say to debugpy to break into all files, we also say to step into all files, meaning that the taken step goes to the next in the call stack, including the StdLib files.
@JohanMabille You say on https://github.com/ipython/ipykernel/issues/832#issuecomment-1010414146 that you would think to a solution `...changing the step over behavior, or filter stop events`. Is there anything we can do in the short therm?
貢獻指南
研究方向
Start by reading ipykernel PRs #812 and #839, issue #832, and the linked JupyterLab PR #11566 to understand the changed stepping behavior. The issue does not name source files or tests; done would mean defining and verifying a way to break in userland and standard-library files without stepping unexpectedly through those files.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- jupyter, jupyter-notebook, python
- 領域
- backend, devtools
- Issue 類型
- 缺陷
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 30/100