2

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 中对其进行调试的特定方法。

4

1 回答 1

4

弄清楚了。这确实有效,而且效果很好,一旦你放下步骤。

  • 像这样向 python 源文件添加延迟:

    time.sleep(10)
    

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

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

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

于 2012-06-08T10:38:59.027 回答