2013-05-17 18 views
16

Tôi đang sử dụng gcc 4.7 và gcc 4.8 cùng với QtCreator 2.7.1.Cách đặt cửa sổ gỡ lỗi "Người dân địa phương và Biểu thức" hoạt động với gcc 4.8?

Vấn đề là khi tôi sử dụng gcc 4.8, tôi không thể nhìn thấy các giá trị của các biến của tôi trong "Người dân địa phương và những biểu hiện" cửa sổ trong chế độ gỡ lỗi:

enter image description here

Trong khi gcc 4.7 hoạt động tốt:

enter image description here

Tôi đã cố gắng sửa lỗi này bằng cách chơi với các tùy chọn QtCreator, nhưng không có kết quả.

Tôi không chắc chắn, nếu điều này thực sự liên quan đến phiên bản trình biên dịch, nhưng sự cố sẽ biến mất sau khi tôi xây dựng lại với phiên bản cũ hơn.

+2

Thử cập nhật GDB của bạn thành ít nhất 7.5 (hiện tại là 7.6). –

Trả lời

15

Lý do có thể là gcc 4.8 đang sử dụng theo định dạng mới hơn mặc định để lưu trữ thông tin gỡ lỗi (http://gcc.gnu.org/gcc-4.8/changes.html). Nếu bạn đang sử dụng phiên bản gdb nhỏ hơn 7.5 (xem gdb --version), bạn cần phải cung cấp đối số -gdwarf-3 để biên dịch với thông tin gỡ lỗi bằng gcc 4.8.

+1

'' -gdwarf-3'' làm việc cho tôi với gcc 5.1 và gdb 7.9.1 –

8

Cùng một triệu chứng có thể xảy ra do có trình gỡ lỗi là quá mới, thay vì quá cũ!

Trong trường hợp này, nó không phải về phiên bản GDB, đó là về phiên bản của Python được nhúng vào nó khi nó được xây dựng. Ubuntu 13.10 tàu với một GDB được xây dựng với Python3 nhúng thay vì Python2. Qt Creator (tại thời điểm viết bài này) không tương thích với điều đó.

Bạn có thể kiểm tra để xem nếu bạn đã có một python2 GDB bằng cách chạy nó từ một thiết bị đầu cuối và gõ:

(gdb) python print sys.version 

Nếu bạn nhận được một lỗi cú pháp hợp lệ, bạn đã có thể có Python3. Điều đó đòi hỏi ngoặc xung quanh những gì để in, vì vậy hãy thử:

(gdb) python print(sys.version) 

Khi điều đó trở lại với một câu trả lời 3.x.x, Python script debugging Qt Creator sẽ không hoạt động (chưa). Vì vậy, bạn sẽ cần phải có một GDB với Python2.

Đây là bài viết blog của tôi về nó: QtCreator Debugger Not Showing Locals in Ubuntu 13.10.

+1

Cảm ơn rất nhiều, đó là vấn đề của tôi! –

+0

đã lưu ngày của tôi. Cảm ơn. –

+0

Ôi trời ơi, bạn là một phao cứu sinh! – Doodad

2

Trong trường hợp của tôi, đó là những gì được mô tả HostileFork: ubuntu 13.10 + Qt Creator 2.8

bug này đã được cố định trong Qt Creator 3, chưa được phát hành.

Để giải quyết điều này mà không cần biên dịch lại GDB, chỉ cần sử dụng phiên bản RC của Qt Creator 3.

Có được xây dựng sẵn on Qt project website hoặc một PPA (ppa: p12/QtCreator) với phiên bản git cuối cùng nhưng xây dựng được chia như của ngày hôm nay.

+0

ppa https://launchpad.net/~p12/+archive/qtcreator –