traceback.print_stack(file=sys.stdout)找程序流程

本文介绍了一个具体的调试场景,展示了如何通过打印堆栈跟踪和详细记录输入缓冲区内容来定位问题。这种方法有助于理解程序运行时的状态,并能有效地进行错误排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def do_event_in(self, buf):
        traceback.print_stack(file=sys.stdout)
        s =  traceback.extract_stack()
        print '%s Invoked me!'%s[-2][2]
        log_debug('server in %s' % buf)
        buf.clear()
        self.push()
        return 0

 File "./tcp_server.py", line 139, in <module>
    unit.start()
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/poller_timer_unit.py", line 23, in start
    CPollerUnit.process_poller_events(self)
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/poller.py", line 207, in process_poller_events
    if epoll_object.input_notify() >= 0:
  File "./tcp_server.py", line 95, in input_notify
    ret = server_conn_object.init(server_conn, self)
  File "./tcp_server.py", line 29, in init
    return self.push()
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/tcp_base_connect.py", line 42, in push
    if self._conn is None: ret = self.create_conn()
  File "./tcp_server.py", line 38, in create_conn
    if not self.b_use_oob(): self.input_notify()
  File "./tcp_server.py", line 42, in input_notify
    return CTcpBaseConnect.input_notify(self)
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/tcp_base_connect.py", line 143, in input_notify
    return self.do_event_in()
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/tcp_base_connect.py", line 121, in do_event_in
    ret = self.handle_event_in()
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/tcp_base_connect.py", line 111, in handle_event_in
    ret = self._handle.do_event_in(self._in_buf)
  File "/data/dreamliang/mySvn/sdn_proj/branches/oss/common/tcp_handle.py", line 136, in do_event_in
    traceback.print_stack(file=sys.stdout)
handle_event_in Invoked me!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值