所以我正在调试一大段代码,这是一项艰巨的任务。代码涉及许多条件(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。)我只是不知道它将被称为什么,并且当我搜索类似于这个标题的东西时谷歌搜索没有产生任何结果,所以我决定在这里问。
谢谢:)
答案 0 :(得分:3)
您正在寻找的动词是"追踪"。
Python有一个trace
模块可以做到这一点。我找到了文章
tracing in general和the module itself看起来很有用。
跟踪模块可帮助您了解程序的运行方式。您可以跟踪已执行的语句,生成覆盖率报告,并调查相互调用的函数之间的关系。
您可能会发现将代码重构为较小的函数可以更容易理解和/或跟踪其执行。