VSCode python在调试时出现 "未验证的断点"?

1 人关注

我正在用VSCode调试我的Python应用程序。

我有一个Python主文件,我从那里启动调试器。我可以在这个文件中设置断点,但如果我想在被主文件调用的其他文件中设置断点,我得到的是 "未验证的断点",调试器会忽略它们。

我怎样才能改变我的 launch.json ,使我能够在项目中的所有文件上设置断点?

Here's my current launch.json :

// Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}" "name": "Python: Attach", "type": "python", "request": "attach", "localRoot": "${workspaceFolder}", "remoteRoot": "${workspaceFolder}", "port": 3000, "secret": "my_secret", "host": "localhost" "name": "Python: Terminal (integrated)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" "name": "Python: Terminal (external)", "type": "python", "request": "launch", "program": "${file}", "console": "externalTerminal" "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": [ "runserver", "--noreload", "--nothreading" "debugOptions": [ "RedirectOutput", "Django" "name": "Python: Flask (0.11.x or later)", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "${workspaceFolder}/app.py" "args": [ "run", "--no-debugger", "--no-reload" "name": "Python: Module", "type": "python", "request": "launch", "module": "nf.session.session" "name": "Python: Pyramid", "type": "python", "request": "launch", "args": [ "${workspaceFolder}/development.ini" "debugOptions": [ "RedirectOutput", "Pyramid" "name": "Python: Watson", "type": "python", "request": "launch", "program": "${workspaceFolder}/console.py", "args": [ "dev", "runserver", "--noreload=True" "name": "Python: All debug Options", "type": "python", "request": "launch", "pythonPath": "${config:python.pythonPath}", "program": "${file}", "module": "module.name", "env": { "VAR1": "1", "VAR2": "2" "envFile": "${workspaceFolder}/.env", "args": [ "arg1", "arg2" "debugOptions": [ "RedirectOutput"
2 个评论
你能用实验性调试器试一下,看看是否有区别?
这也可能是没有将justMyCode配置选项设置为false的结果。请看下面的答案。
python
visual-studio-code
breakpoints
vscode-settings
vscode-debugger
locke14
locke14
发布于 2018-05-30
2 个回答
cethegeek
cethegeek
发布于 2018-06-13
已采纳
0 人赞同

这可能是""的结果。 justMyCode "配置选项,因为它的默认值是 "true"。

虽然提供者的描述是"......只限制调试用户编写的代码。设置为False,也可以启用标准库函数的调试。",我想他们的意思是,在当前python环境下,网站包中的任何东西都不会被调试。

我想对Django堆栈进行调试,以确定源自我的代码的异常在哪里被吃掉而没有浮现出来,所以我对我的VSCode的调试器的启动配置做了这样的处理。

// Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ "name": "Control Center", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": [ "runserver", "--noreload" "justMyCode": false, // I want to debug through Django framework code sometimes "django": true

当我这样做的时候,调试器就删除了 "未验证的断点 "信息,并允许我调试我正在工作的虚拟环境的网站包中的文件,其中包括Django。

我应该注意到,调试器的断点部分给了我一个提示,告诉我为什么断点没有得到验证,以及应该对启动配置做哪些调整。