在 PyCharm 中调试时如何避免进入内置函数?

How to avoid step into built-in functions when debugging in PyCharm?

例如:

df = load_dataset(os.path.join(os.path.dirname(dataset), "aclImdb"))

我不想调试 dirnamejoin,因为它们是 Python 内置函数,但只想调试用户定义的函数,例如 load_dataset.

在 PyCharm 中有没有办法控制它?

当您按 Step into F7 或转到 File > [= 时,可以阻止调试器进入库函数13=] > Build, Execution, Deployment > Debugger > Stepping > Python 并检查选项 Do not step into library scripts.

(一种替代方法也可以使用 Step into my code Alt + Shift + F7)。

如截图所示

以下是仅使用标准库的代码示例,可复制用于测试

import os


def my_function():
    return 2


my_str = str(os.path.join(os.getcwd(), str(my_function())))

此屏幕截图显示使用 Step into F7 取消选中 Do not step into library scripts 并选中 Always do smart step into

注意这3个设置选项是相互关联的,如果你同时选择Do not step into library scriptsAlways do smart step into,IDE仍然会给你一个进入库函数的选择。如果您取消选中后面的选项,上面的示例将自动进入您的函数。