python - 多行语句在哪里设置断点?
问题描述
考虑以下源代码:
1 f(
2 foo(),
3 bar(),
4 spam(a,
5 b,
6 ),
7 )
f
如果我希望代码在调用之前立即中断,但在调用foo()
、bar()
和之后,我应该在哪里设置断点spam(a, b)
?如果我将它设置在第 1 行,断点将出现得太早。但是我尝试将它设置在第 7 行,并且 pdb 从一开始就没有侵入代码。我在哪里设置断点,为什么?
解决方案
您可以在函数定义中放置断点,f
然后它将在您想要的位置中断。原因是f
在foo()
,bar()
和spam(a,b)
或者
编写一个包装函数
def wrapper(fun,a,b):
temp = fun(a,b)
return temp
f(
foo(),
bar(),
wrapper(spam,a,b),
)
并将喙点放在返回语句
推荐阅读
- c++ - 我怎样才能在循环中做减法?
- ibm-mq - 可以在两个远程 qmgrs 中使用具有相同 CN 的证书吗?
- vue.js - 图例未显示使用 Echarts 的 vue.js 项目
- javascript - 使用 ShellExecute 正确识别打开的 Web 浏览器以使用 document.getElement
- archunit - 确保从另一个方法调用?
- sql-server - SQL Server 2019 忽略 WHERE 子句?
- acumatica - 可以为 AP 账单分配不同的审批人
- laravel - 使用 Laravel Controller 加载索引时获取当天的记录
- python - 将所有可能的组合应用到代码中以计算分数
- javascript - 如何修复 webpack-pwa-manifest 漏洞?