在pdb模式下,我经常想进入一个函数。这是说明我可能会做的情况。给出代码:
def f(x):
print('doing important stuff..')
result = g(x) + 2
return result
def g(x):
print('some cool stuff going on here, as well')
0 / 0 # oops! a bug
return x + 5
现在,假设我在print('doing cool stuff')
和result = g(x) + 2
之间设置了一个断点。因此,f(x)
看起来像这样:
def f(x):
print('doing important stuff..')
__import__('pdb').set_trace() # or something similar..
result = g(x) + 2
return result
然后我用f(x)
调用函数x=5
,期望得到结果12
。被调用时,我在f
的第二行中进入交互式pdb会话。击中n
会给我错误(在这种情况下为ZeroDivisionError)。现在,我想以交互方式进入g(x)
函数,以查看错误可能是什么。是否可以在不“移动” g(x)
中的断点并重新运行所有内容的情况下做到这一点?我只是想在仍处于pdb模式的第一行输入函数g
。
我已经搜索了以前的SO问题和答案+查找了文档,但仍然找不到任何可以解决这种特殊情况的东西。
答案 0 :(得分:2)
您可能正在寻找state = {
status: false,
}
handleChange = (event) => {
this.setState({
[event.target.id]: event.target.checked
});
}
<Form.Check
type="checkbox"
label="Consigne temporaire"
checked={this.state.status}
onChange={this.handleChange} />
命令:它s
提示您进入下一个功能。
在调试模式下,您可以使用s
(帮助)查看所有可用命令。另请参见the docs。