在python调试器pdb中交互式观察代码

2024-04-18 17:14:39 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在python调试器pdb中以交互方式观察正在执行的代码?在

例如在gdb中,可以按^x+^a打开一个代码窗口。在

GDB Screenshot

我知道我可以看到一些使用list的代码,但是有没有类似gdb的选项呢?在


Tags: 代码选项调试器pdblistgdb
1条回答
网友
1楼 · 发布于 2024-04-18 17:14:39

不是开箱即用的,但是您可以在主目录的.pdbrc文件中添加^{^{}和^{}钩子,然后驱动文本编辑器来显示文本。在

这是PdbSublimeTextSupport和{a4}包使用的方法。在

这些包只是从Cmd子类中读取当前位置;self.stack[self.curindex]包含当前帧和行号。在

PdbSublimeTextSupport可以:

def launch(self):
    frame, lineno = self.stack[self.curindex]
    filename = self.canonic(frame.f_code.co_filename)
    if exists(filename):
        command = 'subl -b "%s:%d"' % (filename, lineno)
        os.system(command)

def preloop(self):
    launch(self)

def precmd(self, line):
    launch(self)
    return line

Sublime文本编辑器将在lineno行打开filename。在

您可以引用^{} documentation(构建PDB的基础),以及^{}和{a7}源代码,但是上面的示例应该足以驱动任何显示当前源代码行的方法。在

相关问题 更多 >