当前位置: 首页 > 教程 > Mac软件教程 > WingPro 7 for Mac交互式调试详细教程

WingPro 7 for Mac交互式调试详细教程

Wing Pro的调试控制台提供了一种查找和修复错误的强大方法,并在实时运行时状态下以交互方式尝试新代码。这与Python Shell工具非常相似,但允许您在当前堆栈帧的上下文中直接与暂停的调试程序进行交互

通过键入以下内容从先前达到的异常点开始尝试:

新闻[0] [0]

这将打印第一个新闻项的日期:

Wing在您键入时提供自动完成功能,并在Source Assistant中显示呼叫签名和文档信息,就像您在编辑器中工作时一样。

接下来,试试这个:

新闻[0] [0] ='2013-06-15'

这是在调试时更改程序状态的一种方法,这在测试将进入错误修复的代码时非常有用。立即尝试:

PrintAsText(新闻)

这将执行函数调用,并使用修改后的新闻值将其输出打印到调试 控制台。

这是另一种可能性。复制/粘贴或将此代码块拖放到调试 探针:

def PrintAsHTML(新闻):
  对于日期,事件,新闻中的网址:
    打印('

%s %s '%(日期,网址,事件))

这取代了在example1.py源文件中找到的有关调试过程生命周期的PrintAsHTML的错误定义,因此您现在可以无错误地执行它,如下所示:

PrintAsHTML(新闻)

在调试 控制台是设计修复依赖于大量的程序状态的,或在一个背景下,是难以重现调试器之外的错误发生有用。

条件断点

由于调试 控制台完全是在选定的运行时上下文中工作,现在是查看条件断点的好时机,这是让调试器在您想要使用的上下文中停止的好方法。

要设置条件断点,请右键单击编辑器左侧的断点边距,然后选择“ 设置 条件 断点”。这会打开一个对话框,您可以在其中输入任何Python表达式。如果表达式的真值为True,或者它引发异常,那么调试器将停在它上面。如果表达式不为True,则调试器将继续运行。

首先选择立即尝试删除 所有 断点从调试菜单,然后在设定的条件断点印刷中的中环 PrintAsText。在事件中使用诸如'beta'之 类的条件。您需要将beta替换为其他单词或片段以使调试器停在此处,因为这取决于当前在python.org上列出的新闻项。查看先前运行的example1.py的输出,以查找仅出现在其中一个新闻项中的单词。

完成此操作后,按工具栏中的“ 重新开始 重新启动 调试”图标或在“ 调试”菜单中选择“ 重新启动 调试 ” 。Wing应该在循环迭代中停止在条件断点处,它是True。在更复杂的代码中,这将是一种快速的方法来进入导致错误或您想要编写一些新代码的程序状态。

在调试时在编辑器中工作

当调试器处于活动状态时,Wing会同时使用其代码的静态分析和实时运行时状态的内省,以便在编辑器中提供自动完成,调用提示和goto-definition,无论何时处理活动的代码。调试堆栈。

现在通过在调试 控制台中键入以下内容来尝试此操作:

testvar ='test'

然后切换到example1.py并在PrintAsText中(当前在条件断点处停止)创建一个新行并键入:

测试

请注意,新创建的变量testvar显示在完成者中,并带有一个cog图标,表示它是在运行时状态中找到的:

这是在动态代码中获得正确自动完成的一种方便方法,其中静态分析无法找到执行代码时将定义的所有符号。

如果您感受到了这款软件的强大之处可以尝试下载使用,小编会持续为您带来更多的最新消息和优质推荐,多多关注哦!