python计算排队时间_Python(pdb)-排队执行命令

我正在实现一个“断点”系统以用于我的Python开发,该系统将允许我调用一个实质上调用pdb.set_trace()的函数.

我想实现的某些功能要求我在set_trace上下文中时通过代码控制pdb.

例:

disableList = []

def breakpoint(name=None):

def d():

disableList.append(name)

#****

#issue 'run' command to pdb so user

#does not have to type 'c'

#****

if name in disableList:

return

print "Use d() to disable breakpoint, 'c' to continue"

pdb.set_trace();

在上面的示例中,如何实现#****标记的注释?

在该系统的其他部分,我想发出一个“ up”命令,或两个连续的“ up”命令,而又不离开pdb会话(因此,用户最终出现在pdb提示符下,但在调用堆栈上上升了两个级别).

解决方法:

您可以调用低级方法来获得对调试器的更多控制:

def debug():

import pdb

import sys

# set up the debugger

debugger = pdb.Pdb()

debugger.reset()

# your custom stuff here

debugger.do_where(None) # run the "where" command

# invoke the interactive debugging prompt

users_frame = sys._getframe().f_back # frame where the user invoked `debug()`

debugger.interaction(users_frame, None)

if __name__ == '__main__':

print 1

debug()

print 2

标签:debugging,pdb,python

来源: https://codeday.me/bug/20191106/2000494.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值