如何使用Visual Studio的Python工具(PTVS)调试在本地lighttpd服务器上运行的Python

时间:2012-06-04 03:33:36

标签: python visual-studio ptvs

Visual Studio通过Visual Studio的Python工具提供了很好的python支持: http://pytools.codeplex.com/

在Visual Studio中调试python代码按预期工作。我在我的本地Windows机器上设置了lighttpd服务器,并且我将python脚本作为cgi脚本运行。我希望能够在从lighttpd运行时在Visual Studio中调试这些(在同一台PC上运行)。

我可以使用以下方法调试cgi脚本: http://winpdb.org 但我更喜欢Visual Studio。

根据这个问题: How to debug a remote python application with (Python Tools for) Visual Studio?

暗示几乎有一种方法,但我没有看到设置断点的具体方法,并在VS中调试它。

1 个答案:

答案 0 :(得分:4)

想出来。一旦你完成了这些步骤,这确实有效,并且效果很好。

  • 向python源文件添加延迟,如下所示:

    time.sleep(10)
    

    如果您不使用FastCGI,这是必要的,因为python进程可能会在您可以附加到它之前很久就开始和结束。我认为这与FastCGI有所不同,但我还没有达到那个阶段。

  • 在lighttpd(或apache?)服务器中运行的python文件中设置断点。我测试了lighttpd。注意:如果您没有将源文件添加到VS中的项目,因此不设置断点,您仍然可以调试,但是您必须在文件中强制执行错误。我添加了一行“调试器”。
  • 在浏览器中加载页面并允许延迟点击
  • 在VS中:调试 - >附加到流程 - > pythonw.exe(在延迟过去之前完成此操作)

我在Visual Studio IDE中添加了一个简短的宏,它自动执行附加到pythonw.exe的过程。如果有人有兴趣,我会分享。