1

当我在 Python 中进行开发时,我经常想调试一个特定的方法,在这种情况下,从交互式控制台或调试交互式控制台调用该方法是有意义的。但是,当从 PTVS 中的交互式窗口调用方法时,它不会在所述方法的断点处停止。

如果可能的话,请告诉我该怎么做。如果没有,我想请求此功能,并且还想知道是否有比从主脚本调用它更快的方法来调试特定方法。

我在 Visual Studio 2013 Ultimate 中使用 PTVS 2.0 RC

4

1 回答 1

2

使用常规(非调试)Python 交互窗口时,您实际上可以使用 Debug -> Attach to Process 将 VS 附加到它正在运行的 python.exe 进程。一旦完成,如果交互式窗口执行某些操作以例如命中断点,则调试器将命中该断点。

棘手的部分是以解决断点的方式从文件中加载代码。特别是,$loadREPL 命令将不起作用,因为它只是读取文件并在 REPL 中逐行对其进行评估,而不保留原始文件上下文。您需要的是使用 Python 工具加载您的脚本 - 例如import,或open+ exec

那里也有一些陷阱 - 例如,只要您在断点处暂停,REPL 窗口就会变得无响应。

于 2013-11-25T21:46:24.113 回答