Python debugger tells me value of Numpy array is "*** Newest frame"

Framester picture Framester · Mar 1, 2013 · Viewed 8k times · Source

What does this mean?

My function gets two numpy arrays from a python/c library. After that function call I turn on the debugger to find a bug, so I add the line to look at the two numpy arrays.

    import pdb; pdb.set_trace()

But for the values of one of the arrays pdb only returns the message *** Newest frame

PDB output:

(Pdb) type(d)
<type 'numpy.ndarray'>
(Pdb) type(f)
<type 'numpy.ndarray'>
(Pdb) f.shape
(3, 3, 17856)
(Pdb) d[0].shape
*** Newest frame
(Pdb) d[0]
*** Newest frame

Answer

Jan picture Jan · Mar 1, 2013

The command d is the command for the debugger used to go down the stack to a 'newer frame'. It seems that the parsing cannot not handle this disambiguity.

Try renaming the variable d.

EDIT: Actually, the comments suggest much better handling than renaming.