Debugging 舒适地使用PTVS调试器

Debugging 舒适地使用PTVS调试器,debugging,ironpython,ptvs,Debugging,Ironpython,Ptvs,我有一个使用IronPython脚本的C环境。我想使用Visual Studio(即PTV)调试这些。我把所有的东西都设置好了,它确实起作用了,但它只起作用一次。停止调试器或脚本结束后,无法再次附加到进程或命中断点。除了速度非常慢之外,这真的让我很难受,因为我希望能够多次处理我的脚本,而不必每次都关闭整个应用程序 有没有人有过这种调试的经验,并且知道如何使它更舒适 版本: VS10 C,VS12 PTVS 2.2 .NET4.0 IronPython 2.7.0.40 我的建议是,不要使用基于p

我有一个使用IronPython脚本的C环境。我想使用Visual Studio(即PTV)调试这些。我把所有的东西都设置好了,它确实起作用了,但它只起作用一次。停止调试器或脚本结束后,无法再次附加到进程或命中断点。除了速度非常慢之外,这真的让我很难受,因为我希望能够多次处理我的脚本,而不必每次都关闭整个应用程序

有没有人有过这种调试的经验,并且知道如何使它更舒适

版本:

VS10 C,VS12 PTVS 2.2 .NET4.0 IronPython 2.7.0.40

我的建议是,不要使用基于ptvsd的附加,而是尝试常规附加,只需转到Debug->attach to Process,然后选择.exe,然后选择本机、托管和Python代码类型的组合,以启用混合模式调试。这还有一些其他的好处,比如您可以从C代码到Python代码再到Python代码,还可以解决您所看到的问题。与纯Python调试相比,它是有限的,但是您可能会发现这些限制是可以接受的

我的建议是,不要使用基于ptvsd的附加,而是尝试常规附加,只需转到Debug->attach to Process,然后选择.exe,然后选择本机、托管和Python代码类型的组合,以启用混合模式调试。这还有一些其他的好处,比如您可以从C代码到Python代码再到Python代码,还可以解决您所看到的问题。与纯Python调试相比,它是有限的,但是您可能会发现这些限制是可以接受的

你用什么样的附件?是否使用托管代码类型或Python或两者都附加?我正在使用“ptvsd”文件夹中的文件。调用是'ptvsd.enable_attachsecret='MySecret',ptvsd.wait_for_attach','ptvsd.break_into_debugger',…您是否尝试使用较新版本的IronPython?我不知道在这一点上是否有什么变化,但也许2.7.6会起作用。AFAIK2.7.6还没有发布,IronPython 3也是如此。在这种情况下,我不认为IronPython应该为糟糕的调试环境负责。问题是,从PTVS的角度来看,每次运行Python脚本时,它就像一个全新的Python进程。一旦脚本退出,调试器就不能做任何事情来保持连接,因为没有任何东西可以连接到那里——Python解释器循环没有运行。您使用的是哪种连接?是否使用托管代码类型或Python或两者都附加?我正在使用“ptvsd”文件夹中的文件。调用是'ptvsd.enable_attachsecret='MySecret',ptvsd.wait_for_attach','ptvsd.break_into_debugger',…您是否尝试使用较新版本的IronPython?我不知道在这一点上是否有什么变化,但也许2.7.6会起作用。AFAIK2.7.6还没有发布,IronPython 3也是如此。在这种情况下,我不认为IronPython应该为糟糕的调试环境负责。问题是,从PTVS的角度来看,每次运行Python脚本时,它就像一个全新的Python进程。一旦脚本退出,调试器就不能做任何事情来保持连接,因为没有任何东西可以连接到那里-Python解释器循环没有运行。我将尝试一下,我不知道我可以同时启用.NET和Python的混合模式。只需确保您也启用了本机-如果没有它,它将无法正常工作,即使你实际上没有使用它。我只是尝试启用混合模式,但我无法使用它。我在网上找到了许多网站,他们在那里调试python项目,但我有一个托管的。我也无法在附加到进程窗口中同时检查python和托管/本机代码,它说它们不兼容;项目本身对Python一无所知不幸的是,这是每个项目系统自己处理的事情,并且通常以不可扩展的方式处理。至于附加不工作-它表明您正在使用VS2010,因此也是旧版本的PTVS,它缺乏混合模式支持。如果可能的话,我强烈建议升级到VS 2015+PTVS 2.2.2。我会尝试一下,我不知道我可以同时启用.NET和Python的混合模式。请确保您也启用了本机-没有它,它将无法正常工作,即使你实际上没有使用它。我只是尝试启用混合模式,但我无法使用它。我在网上找到了许多网站,他们在那里调试python项目,但我有一个托管的。我也无法在附加到进程窗口中同时检查python和托管/本机代码,它说它们不兼容;项目本身对Python一无所知。不幸的是,这是每个项目都无法理解的 系统自行处理,通常以不可扩展的方式处理。至于附加不工作-它表明您正在使用VS2010,因此也是旧版本的PTVS,它缺乏混合模式支持。如果可能,我强烈建议升级到VS 2015+PTVS 2.2.2。