2013-03-01 41 views
20

Điều này có nghĩa là gì?Trình gỡ rối Python cho tôi biết giá trị của mảng Numpy là "*** Khung mới nhất"

Chức năng của tôi nhận được hai mảng numpy từ thư viện python/c. Sau khi gọi hàm đó, tôi bật trình gỡ rối để tìm lỗi, vì vậy tôi thêm dòng để xem xét hai mảng numpy.

import pdb; pdb.set_trace() 

Nhưng đối với các giá trị của một trong những arrayspdb chỉ trả về thông điệp *** Newest frame

PDB đầu ra:

(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 

Trả lời

29

Lệnh dcommand for the debugger sử dụng để đi xuống ngăn xếp để một 'khung mới hơn'. Dường như việc phân tích cú pháp không thể xử lý sự không rõ ràng này.

Thử đổi tên biến số d.

+4

hoặc làm 'p d [0] .shape' hoặc' print d [0] .shape' –

+3

Hoặc sử dụng dấu chấm than nếu bạn muốn sử dụng mã Python trong trình gỡ lỗi: '! D [0]'. Thông thường, bất cứ thứ gì bạn nhập vào cmdline của trình gỡ rối đều xem xét một lệnh * debugger *, không phải Python (nhưng trình gỡ lỗi khá linh hoạt). Xem gần cuối [tài liệu] (http://docs.python.org/2/library/pdb.html). – Evert

Các vấn đề liên quan