【问题标题】:What does 'File "<string>"' stands for on python debugger and traceback?'File "<string>"' 在 python 调试器和回溯中代表什么?
【发布时间】:2021-11-12 13:51:58
【问题描述】:

最终,当我在调试会话中时,当前文件被命名为“”。我希望看到的是调试器当前所在模块的名称。

同样的情况发生在回溯上:

Traceback (most recent call last):
  ...
  File "~/project_x/app/services/contacts.py", line 23, in find_account
  account = self._account_repo.get_by_id(id)
  File "<string>", line 2, in get_by_id
  File "~/project_x/lib/python3.7/site-packages/pony/orm/core.py", li
ne 528, in new_func
    result = func(*args, **kwargs)

【问题讨论】:

标签: python pdb


【解决方案1】:

这意味着代码来自不是文件,而是字符串。我的猜测是拨打exec(),但也许还有其他方法可以获得相同的效果。之前的堆栈帧可能会提供一些线索。

【讨论】:

  • 只是普通的函数调用。我用上一个调用更新了回溯。
  • 我猜这是由 Pony ORM 的 @db_session 装饰器引起的,用于函数中。谢谢!
猜你喜欢
  • 2019-05-22
  • 2015-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
相关资源
最近更新 更多