Possível erro no módulo pdb no Python 3 ao usar geradores de lista
Depois de executar este código no Python 3:
import pdb
def foo():
nums = [1, 2, 3]
a = 5
pdb.set_trace()
foo()
As seguintes expressões funcionam:
(Pdb) print(nums)
[1, 2, 3]
(Pdb) print(a)
5
(Pdb) [x for x in nums]
[1, 2, 3]
mas a seguinte expressão falha:
(Pdb) [x*a for x in nums]
*** NameError: global name 'a' is not defined
O acima funciona bem no Python 2.7.
Isso é um bug ou estou faltando alguma coisa?
Atualizar: Veja a nova resposta aceita. Este foi realmente um bug (ou um projeto problemático), que foi abordado agora, introduzindo um novo comando e modo em pdb.