是否可以调试从PTVS中的交互式窗口调用的方法?

时间:2013-11-25 16:49:38

标签: python ptvs

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

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

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

1 个答案:

答案 0 :(得分:2)

使用常规(非调试)Python Interactive窗口时,您实际上可以使用Debug - >将VS附加到运行它的python.exe进程。附加到流程。一旦完成,如果交互式窗口做了某些事情,例如点击一个断点,调试器将点击该断点。

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

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