2011-09-27 33 views
7

Tôi đã thiết lập dự án dựa trên makefile để xây dựng mã của tôi trên nhiều nền tảng. Trên máy Mac của tôi, tôi muốn sử dụng Xcode để gỡ lỗi. Tôi đã thiết lập một Xcode như là một dự án xây dựng bên ngoài Tôi có thể chạy ứng dụng từ bên trong Xcode. Đầu ra được hiển thị trong Xcode và nếu ứng dụng gặp sự cố, nó sẽ rơi vào trình gỡ rối, nhưng khi chạy trình gỡ rối không thể định vị tệp nguồn, vì vậy tôi chỉ thấy đầu ra của assembly. Làm thế nào tôi có thể nói với Xcode nơi để xác định nguồn?Dự án xây dựng bên ngoài Xcode 4 và gỡ lỗi

Tôi cũng không thể đặt điểm ngắt, nhưng tôi nghĩ rằng đây là tất cả cùng một vấn đề.

+0

tôi không thể tìm ra một giải pháp cho điều này, vì vậy tôi đã nhượng bộ và tạo ra một dự án Xcode bình thường đối với các thư viện. Điều này có nghĩa là tôi cần phải duy trì Makefiles, Xcode và có lẽ Visual Studio xây dựng quá, nhưng ít nhất tôi đã có trình gỡ lỗi của tôi trở lại. – jdswain

Trả lời

6

Tôi đã có thể khắc phục sự cố không dừng tại điểm ngắt bằng cách đặt thư mục làm việc tùy chỉnh cho tệp thực thi. Trước khi thay đổi này, tôi đã có thể xây dựng thành công bằng cách sử dụng hệ thống scons bên ngoài từ Xcode 4. Mã của tôi sẽ chạy khi được gọi từ XCode nhưng các điểm ngắt sẽ bị bỏ qua.

Sau đó, trong XCode, Đến sản phẩm -> Edit Scheme ... kiểm tra 'sử dụng tùy chỉnh thư mục làm việc' và tôi thiết lập này để cùng thư mục với tập tin thực thi.

Điểm dừng sau đó bắt đầu hoạt động.

+0

Cảm ơn bạn. Tôi đã thử nó và nó hoạt động. Lúc đầu nó đã không, nhưng đó là bởi vì tôi đã thực hiện một xây dựng không gỡ lỗi, một khi tôi thay đổi để thực thi gỡ lỗi tất cả bắt đầu làm việc. Tôi thực sự hài lòng tôi có thể làm điều này ngay bây giờ vì tôi đã phải duy trì hai bản xây dựng, một trong Xcode và một bên ngoài đó là ít hơn lý tưởng. – jdswain

1

Trong "Project Navigator" (biểu tượng thư mục tệp ngay bên dưới nút "Chạy"), nhấp chuột phải và chọn "Thêm tệp vào dự án của bạn". Duyệt đến thư mục cấp cao nhất nơi bạn thường chạy xây dựng bên ngoài và nhấp vào Thêm.

+0

Tôi đã thêm tất cả các tệp nguồn. Lúc đầu, tôi đã làm điều này như là tài liệu tham khảo thư mục (các thư mục màu xanh), nhưng tôi cũng đã cố gắng thêm các nhóm và các tập tin quá (thư mục màu vàng), không làm việc. Trong một dự án bình thường, bạn cũng cần kiểm tra hộp 'Target Membership', nhưng điều này bị vô hiệu hóa trong một dự án External Build. – jdswain

4
  1. Đảm bảo -g được bao gồm trong tùy chọn trình biên dịch trong makefile.
  2. Đặt thư mục làm việc tùy chỉnh trong lược đồ, đặt tập tin thực thi nếu chưa được thiết lập.
  3. Đảm bảo rằng dự án không kéo dylibs chưa được biên dịch với -g. Bạn có thể cần một bước xây dựng để chạy cài đặt nếu dự án xây dựng dylibs cũng như mục tiêu chính.
  4. Đảm bảo rằng "dải" không được gọi. Có các môi trường vars mà xcode thiết lập cho phép bạn giữ một makefile làm việc khi được sử dụng bên ngoài xcode.

Chỉ có vấn đề này và điều này làm việc (Xcode 4.6) (có nguồn gỡ lỗi và breakpoint làm việc)

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