2010-09-17 27 views
5

Tôi cố gắng để gỡ lỗi mã sử dụng gdb, nhưng khi tôi cố gắng để xem màu sắc biến của tôi nó nói điều nàyKhông có ký hiệu "màu" trong ngữ cảnh hiện tại. GDB

No symbol "color" in current context. 

Biến là một int và rõ ràng là trong phạm vi. mã như sau

int color=0; 

if(color==0) 
    color=1; 

và trình gỡ lỗi của tôi được chuyển thông báo biến.

tôi chỉ làm, với một điểm break ở if (màu == 0)

(gdb) watch color 

tôi có thể nghi ngờ trình biên dịch hoặc một cái gì đó, là có thể?

Edit: có một số vấn đề với gỡ lỗi trong nhà xây dựng với GDB

+0

Vui lòng đăng bản sao tương tác của bạn với GDB. Như là, nó không thể nói mà nhiều điều có thể bạn có thể làm sai. –

+0

Chương trình có được biên dịch bằng các biểu tượng gỡ lỗi không? – ninjalj

Trả lời

3

Bạn cần phải chắc chắn rằng bạn đang đi qua các -g cờ để gcc khi bạn biên dịch mã của bạn. Bạn cũng nên vượt qua -O0 để đảm bảo rằng trình biên dịch không tối ưu hóa biến của bạn.

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