Tar*_*aal 10 python debugging interactive
我见过几个提供调试控制台的Python IDE(例如PyDev Extensions,WingIDE) - 一个在断点所在方法的上下文中运行的交互式终端.这使您可以打印成员,调用其他方法并查看结果,并重新定义方法以尝试修复错误.凉.
谁能告诉我这是如何实现的?我知道有代码模块,它提供了一个InteractiveConsole类,但我不知道如何在当前加载的代码的上下文中运行它.我是Python的新手,所以温和的帮助将不胜感激!
是的,我很惭愧地承认它实际上在 InteractiveConsole 的文档中。您可以通过将 locals() 函数的结果传递给 InteractiveConsole 构造函数来使其在本地上下文中运行。我找不到在不终止应用程序的情况下关闭 InteractiveConsole 的方法,因此我将其扩展为在捕获 SystemExit 异常时仅关闭控制台。我不喜欢这样,但我还没有找到更好的方法。
这是一些(相当简单的)示例代码,演示了调试控制台。
import code
class EmbeddedConsole(code.InteractiveConsole):
def start(self):
try:
self.interact("Debug console starting...")
except:
print("Debug console closing...")
def print_names():
print(adam)
print(bob)
adam = "I am Adam"
bob = "I am Bob"
print_names()
console = EmbeddedConsole(locals())
console.start()
print_names()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1420 次 |
最近记录: |