在Python的rdb调试断点处不存在本地变量(在celery任务中)

2024-05-16 20:09:58 发布

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

我正在尝试debug a celery task,但当我telnet进入时,参数和局部变量不存在:

from celery import Celery
from celery.contrib import rdb

celery = Celery('tasks', broker="redis://localhost:6379/0")

@celery.task
def add(x, y):
  someVar = 3
  rdb.set_trace()

在不同的终端中:

telnet 127.0.0.1 6902(或任何端口号)

xy和{}都将产生一个名称错误,如:NameError: name 'x' is not defined


Tags: fromdebugimportredislocalhosttask参数broker
1条回答
网友
1楼 · 发布于 2024-05-16 20:09:58

要检查您是否在当前堆栈帧中,请使用ud(上下)上下移动(http://docs.python.org/2/library/pdb.html#debugger-commands

您可以看到您所在的文件(它是在pdb提示符中写入的)。根据我的经验,通常你得上一两次才能找到正确的文件

相关问题 更多 >