首页 > 解决方案 > Python settrace 仅显示根调用而不显示后续调用

问题描述

有没有办法只跟踪一行的代码执行并忽略它传播到的剩余帧?例如,如果我查看被调用的函数,我会得到 _wait_for_tstate_lock、_event_pipe、send、wait 之类的东西,它们似乎属于 Python 的内部库。我考虑过根据文件名和类进行一些过滤,但想知道是否有一种更简洁的方法来代替只是获取第一个函数调用或行执行。这就是我的 tracefunc 的样子:

    def tracefunc(self, frame, event, arg):
        try:
            filename = frame.f_code.co_filename
            if event == 'call' :
                fcode = frame.f_code 
                func_name = fcode.co_name
                print (func_name)

        except:
            pass
        return self.tracefunc

标签: pythontraceinspect

解决方案


推荐阅读