是否有任何IDE中的调试功能可以让您查看代码所采用的“路径”?

时间:2015-11-30 01:15:27

标签: python visual-studio python-2.7 debugging ide

所以我正在调试一大段代码,这是一项艰巨的任务。代码涉及许多条件(if / else)语句,为了使这个调试工作更容易,我想看看解释器通过所有if / elses的“路径”。

例如:

if stuff:
    x = "stuff"
elif otherstuff:
    x = "otherstuff"
else:
    x = "evenmorestuff"
return x

我的实际代码要比这复杂得多,并且不能选择return而不是x。但我希望你明白这一点。

我希望看到我的代码在崩溃时通过ifs,elif和elses的“路径”。例如:

|  if stuff:
>      x = "stuff"            (ran this line)
 |     if morestuff:
 |         y = "morestuff"    (skipped this line)
 |     else:
 >         y = "nostuff"      (ran this line)
  |elif otherstuff:
  |    x = "otherstuff"       (skipped this line)
  |else:
  |    x = "evenmorestuff"    (skipped this line)
  >return x                   (ran this line)

在任何IDE中,是否有任何功能可以执行此操作? (我正在使用带有PTVS和Python的Visual Studio Community 2015,所以如果有一个解决方案,这将是很好的,因为我不必切换IDE。)我只是不知道它将被称为什么,并且当我搜索类似于这个标题的东西时谷歌搜索没有产生任何结果,所以我决定在这里问。

谢谢:)

1 个答案:

答案 0 :(得分:3)

您正在寻找的动词是"追踪"。

Python有一个trace模块可以做到这一点。我找到了文章 tracing in generalthe module itself看起来很有用。

  

跟踪模块可帮助您了解程序的运行方式。您可以跟踪已执行的语句,生成覆盖率报告,并调查相互调用的函数之间的关系。

您可能会发现将代码重构为较小的函数可以更容易理解和/或跟踪其执行。