PyCharm调试多行函数调用时,如何直接步入函数而非逐行执行参数?
问题描述
我有一个参数跨多行分布的函数调用(函数名为_include_default_entries,调用行号为133,参数分多行排列)。
调试期间,当我处于第133行并选择**Step Into(步入)**时,期望调试器直接进入_include_default_entries函数对应的源码文件,但实际却跳转到当前文件的下一行,需多次点击“Step Into”才能进入目标函数体。请问这是PyCharm的bug吗?是否存在可跳过参数直接步入函数的隐藏配置?
目前查看了PyCharm的调试步进设置(包括“步进”相关的设置面板),未找到与该场景匹配的选项。
解决方案说明
这不是PyCharm的bug,而是调试器的默认行为——跨多行的参数可能包含需要执行的表达式(比如嵌套函数调用、运算逻辑),调试器会先逐行执行这些参数表达式,再进入目标函数。
有两种直接跳转到目标函数的方法:
- 使用Force Step Into(强制步入):快捷键通常为
Alt+Shift+F7(Windows/Linux)或Option+Shift+F7(Mac),这个命令会跳过参数的执行步骤,直接进入被调用的函数体,不受参数是否跨多行的影响。 - 设置函数断点:直接在
_include_default_entries函数的定义行添加断点,调试时程序运行到该断点会直接进入函数,无需反复点击Step Into。
另外,检查调试设置中的**"Do not step into library scripts"选项:如果目标函数是项目内自研代码,确保该选项未误拦截;如果是第三方库函数,需要在"Step Into Filters"**中添加允许步入的路径。
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

