将断点与打印调试混合。
项目描述
breakword
breakword
是一个小的调试工具,它将打印调试与断点调试结合起来。它的目标是方便调试那些你可能使用打印语句快速找到问题所在,然后切换到逐步调试器的问题。
breakword
通常需要运行你的程序两次,并且只有在它是确定性的情况下才能正常工作。
如何使用
-
将环境变量
PYTHONBREAKPOINT
设置为breakword.breakpoint
。 -
像打印语句一样使用
breakpoint
for i in range(10):
breakpoint(i)
这将打印出类似以下的内容
$ python example.py
⏎ standard 0
⏎ sound 1
⏎ character 2
⏎ thank 3
⏎ play 4
⏎ however 5
⏎ fish 6
⏎ cultural 7
⏎ either 8
⏎ and 9
- 使用
BREAKWORD
环境变量设置一个断点,以便进一步调查。例如,如果你想在上述程序中的i == 6
时停止,你可以运行以下命令
$ env BREAKWORD=fish python example.py
⏎ standard 0
⏎ sound 1
⏎ character 2
⏎ thank 3
⏎ play 4
⏎ however 5
⏎ fish 6
> example.py(2)<module>()
-> for i in range(10):
(Pdb) i
6
你也可以提供一个以逗号分隔的单词列表,例如BREAKWORD=sound,fish
。
注意:没有参数的breakpoint()
保留正常行为。
更多功能
-
breakword.log(*things, **config)
:打印一个单词,并在其后可选地打印其他内容。 -
breakword.brk(watch=None, **config)
:在打印出给定的单词后设置一个断点。如果watch
是None
或未给出,将参考BREAKWORD
环境变量。如果没有设置变量,则不会发生任何操作。- 这相当于
breakword.after(word).breakpoint()
。
- 这相当于
-
breakword.after(watch=None, **config)
:返回一个在打印给定观察词之后评估为True
的对象。与brk
一样,如果watch
为None
或未提供,将查询BREAKWORD
环境变量。 -
breakword.word(**config)
:返回下一个单词作为字符串。您可以自己打印它,在这种情况下,它基本上类似于log
,或者您可以将它存储在对象中。 -
breakword.logbrk(**config)
:调用log
然后调用brk
。 -
breakword.wordbrk(**config)
:调用word
然后调用brk
。返回单词。 -
breakword.set_default_logger(logger)
:设置要使用的日志记录函数(默认为print
)
跟踪对象
-
breakword.track(obj, all=False)
将在对象中设置breakword
属性为列表中的下一个单词。通过设置BREAKWORD
环境变量,您将断点设置到对应的track
调用。将all
参数设置为True
,则属性将包含一个列表。注意:如果obj
是整数或字符串,则此操作将不起作用,在这种情况下,跟踪将打印警告。 -
breakword.track_creation(*classes)
将在创建给定类的所有实例时设置breakword
属性。这样,您可以设置一个断点回到某个感兴趣对象的创建。
组
使用 breakword.groups.<name>
获取具有给定名称的“单词组”。每个组独立生成单词,因此不会相互干扰。它们具有 log
、brk
、after
、word
等方法。默认组是 groups[""]
。
from breakword import groups
assert groups.aardvark == groups["aardvark"]
# Log "a" in the aardvark group
groups.aardvark.log("a")
# Log "b" in the pelican group
groups.pelican.log("b")
# Get the next word in the pelican group
word = groups.pelican.word()
# Conditional behavior to perform only after the word "cherry"
if groups.pelican.after("cherry"):
print("blah")
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
breakword-0.3.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 38404e7189d8bfe5a910c31333671b171dc49c95a9b139d62a9feaf72df20b5a |
|
MD5 | 22a06cd43cd716759385ceab81b0bbfa |
|
BLAKE2b-256 | 4f0568b629182345322908240eadfd0a5bd83dc306b9e2a8f568983dfbf2bb7d |
breakword-0.3.2-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | fa6431e68be3fc6e668f288341dc81b804c14ca3a70c7a0c9bb487310c177ad3 |
|
MD5 | d9001c0334e4a87986bb07922d19279b |
|
BLAKE2b-256 | 3a9e1350806e403a60373c442d1e32a77688a563817097e6aeda16f3d3b5112d |