您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

您可以将此调试宏从C ++转换为python吗?

您可以将此调试宏从C ++转换为python吗?

您可以检查堆栈跟踪并“解析”它。由于您知道函数名称(在本例中为dd),因此找到调用提取变量的名称变得相当容易。

    import inspect
    import re

    def dd(value):
        calling_frame_record = inspect.stack()[1]
        frame = inspect.getframeinfo(calling_frame_record[0])
        m = re.search( "dd\((.+)\)", frame.code_context[0])
        if m:
            print "{0} = {1}".format(m.group(1), value)

    def test():
        a = 4
        dd(a)

    test()

输出

a = 4
python 2022/1/1 18:39:27 有438人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶