VSCode调试器自动附加到子进程

时间:2018-05-05 14:47:28

标签: python visual-studio-code pydev bottle

在下面的控制台输出中,它清楚地表明断点不会在新流程中起作用。这个调试器设置在哪里附加到子流程?

pydev debugger: starting

pydev debugger: New process is launching (breakpoints won't work in the new process).
pydev debugger: To debug that process please enable 'Attach to subprocess automatically while debugging?' option in the debugger settings.

Bottle v0.12.13 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

2 个答案:

答案 0 :(得分:0)

我不知道如何附加到子流程。 但是,在调试python flask时遇到了相同的问题,并且我发现pydev debugger: New process is launching ...问题与我在app.run中使用use_reloader=True有关。当我删除它时,断点工作正常!

答案 1 :(得分:0)

是的。截至2018年末,VSCode可以调试python子进程。我们只需要正确设置配置即可。在Visual Studio代码中,编辑launch.json文件,并将"subProcess": true键值对添加到您正在使用的调试配置中。这是一个例子。

"configurations": [
   {
       "name": "Python: Current File",
       "type": "python",
       "request": "launch",
       "subProcess": true,
       "program": "${file}",
       "console": "integratedTerminal"
   }

]