为什么pdb在我尝试设置断点时显示“*** Blank or comment”?
我正在开发一个Django应用程序。出于某种原因,列表中的一个元素被错误地赋值了。
我想在我认为出错的地方设置一个断点。(第20行)
我用这行代码来启动pdb调试工具:
import pdb; pdb.set_trace()
但是,在代码里,我似乎无法设置断点。
(Pdb) b 20
*** Blank or comment
(Pdb) break 20
*** Blank or comment `
我到底哪里做错了呢?
1 个回答
10
pdb(Python调试器)告诉你,你现在所在文件的第20行没有代码;这一行要么是空的,要么只是注释。这样的行是不会被执行的,所以你不能在这上面设置断点。
你可以使用'list'命令来查看你当前文件的代码(想了解这个命令的详细信息,可以输入'help list'),然后在包含可执行代码的行上设置断点。
你还可以使用'where'命令来查看调用栈,因为你可能不在正确的文件中,可能是因为你没有查看到你认为的那个调用栈层级。可以用'up'和'down'命令在调用栈中上下移动,找到你想调试的层级。