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

如何使用Python Tools for Visual Studio(PTVS)调试本地lighttpd服务器上运行的Python,python,visual-studio,ptvs,Python,Visual Studio,Ptvs,Visual Studio通过用于Visual Studio的python工具提供了强大的python支持: 在VisualStudio中调试python代码的工作方式与预期的一样。我在本地的Windows机器上设置了一个lighttpd服务器,并且python脚本作为cgi脚本运行。当从lighttpd运行时,我希望能够在Visual Studio(在同一台PC上运行)中调试这些 我能够使用以下方法调试cgi脚本: 但我更喜欢Visual Studio 根据这一问题: 这意味着几乎有一种方

Visual Studio通过用于Visual Studio的python工具提供了强大的python支持:

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

我能够使用以下方法调试cgi脚本: 但我更喜欢Visual Studio

根据这一问题:


这意味着几乎有一种方法,但我没有看到设置断点并在VS中调试断点的具体方法。

解决了这个问题。一旦你走下台阶,这确实有效,而且效果很好

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

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

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

我向Visual Studio IDE添加了一个短宏,该宏自动附加到pythonw.exe的过程。如果有人感兴趣的话,我会和大家分享。

找到了答案。一旦你走下台阶,这确实有效,而且效果很好

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

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

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

我向Visual Studio IDE添加了一个短宏,该宏自动附加到pythonw.exe的过程。如果有人感兴趣,我将与大家分享。

如果这只是在您的本地计算机上,是否调试->附加到流程工作?理论上,您可以附加到cgi进程,设置断点,然后开始调试。是的,Debug->attach可以工作。我在回答中列出了这些步骤。如果这只是在您的本地计算机上,是否调试->附加到流程工作?理论上,您可以附加到cgi进程,设置断点,然后开始调试。是的,Debug->attach可以工作。我在回答中列出了步骤。