2011-01-13 43 views
7

Tôi đang tìm một cách để có Xcode IDE nhận về nội dung của các lớp mẫu Boost kỳ lạ của tôi. Về cơ bản, các lớp phức tạp đến mức Xcode không thể hiển thị chính xác nội dung của chúng.Xcode C++ gỡ lỗi

Có điều gì giống như phương pháp C-thiết bị mục tiêu hoặc toString() trong Java mà Xcode sẽ tìm không?

Hiện tại tôi chỉ đang triển khai các phương thức print() và gọi chúng bằng gdb, nhưng điều đó có thể gây nhầm lẫn cho các nhà phát triển khác.

+0

hy vọng LLDB sẽ giúp cải thiện trải nghiệm gỡ lỗi C++ trong Xcode – justin

Trả lời

1

Bạn có thể thử tạo Custom Data Formatters cho các loại của mình và trình gỡ rối Xcode sẽ sử dụng chúng.

+0

Không phải 100%, nhưng điều này chắc chắn đúng hướng. Tôi đã kết thúc bằng cách viết các phương thức gọi là debugString() trả về các đối tượng NSString (bị rò rỉ, nhưng không bao giờ nhớ). Sau đó tôi hiển thị chúng với một trình định dạng như sau: {$ VAR.debugString()}: s Lý tưởng nhất, tôi muốn cắm vào một cái gì đó hiện có để người dùng của tôi sẽ không phải làm điều này bằng tay, nhưng điều này là đơn giản, đủ tôi có thể giải thích điều đó. Không hoạt động với std :: vector <> vì lý do nào đó, nhưng đó là một vấn đề khác. Cảm ơn! – mousebird

+0

Một số lần theo dõi, trong trường hợp bất kỳ ai chạy qua điều này. Cuối cùng, giải pháp chỉ có phần chức năng. Xcode dường như có một số vấn đề với trình định dạng dữ liệu. Màn hình hiển thị bật lên chỉ hoạt động khoảng một nửa thời gian và dường như yêu cầu hiển thị biến thông thường xuất hiện đầu tiên. Điều này không làm việc với vectơ ở tất cả, mặc dù Xcode là xác định chính xác loại. Tất cả trong tất cả, một thực hiện tầm thường. Hy vọng rằng họ sẽ làm tốt hơn trong phiên bản tiếp theo. – mousebird

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