2015-11-05 24 views
10

Tôi có 2 trạm, một trạm để phát triển và một trạm để thử nghiệm. Tôi muốn có thể chạy và gỡ lỗi các mục tiêu đã được xây dựng theo chế độ phát hành (mã là sọc) trên trạm thử nghiệm.Gỡ lỗi từ xa bằng lldb/Xcode

Vì mã không được sao chép vào trạm kiểm tra vì lý do bảo mật, tôi đã thử gỡ lỗi từ xa như được mô tả trong liên kết sau - http://lldb.llvm.org/remote.html.

Vì cả hai bên gỡ lỗi chạy OS X, hướng dẫn cài đặt chỉ định rằng trạm cục bộ (phát triển) của tôi sẽ chạy 'lldb-server' cùng với 'debugserver' và phía bên (thử nghiệm) nên chạy 'nền tảng'.

Thật không may, tôi không thể tìm thấy tất cả các công cụ đó bên trong gói Xcode. Tôi cũng đã cố tải xuống mã nguồn lldb và tự mình tạo ra các mã thực thi đó, nhưng tôi vẫn thiếu mục tiêu lldb-server.

Tôi ước gì có một số hướng dẫn rõ ràng và toàn diện về làm thế nào để làm LLĐB gỡ lỗi từ xa đúng cách từ A đến Z.

+1

Rất có thể lldb không thể tìm thấy thông tin gỡ lỗi cho tệp thực thi của bạn trên hệ thống cục bộ. debugserver không làm bất cứ điều gì với thông tin gỡ lỗi, đó không phải là công việc của nó, vì vậy lldb sẽ phải tìm thông tin gỡ rối cục bộ để gỡ lỗi biểu tượng để làm việc. Nếu bạn có một bản sao cục bộ của tệp thi hành mà bạn đã xây dựng - vì lý do hiệu suất bạn sẽ muốn có xung quanh vì nó sẽ tăng tốc độ gỡ lỗi - sau đó thử chuyển đường dẫn tới bản sao cục bộ tới lldb khi bạn khởi chạy nó. –

+1

Thay vì chỉ chỉnh sửa câu hỏi, bạn có thể thêm chúng vào câu trả lời và sau đó chấp nhận câu hỏi đó làm giải pháp không?Điều đó sẽ giúp người khác dễ dàng khám phá hơn nếu họ gặp vấn đề tương tự. – Valdimar

+0

Nếu bạn đã làm, bạn có thể vui lòng viết một số hướng dẫn rõ ràng và toàn diện về làm thế nào để làm lldb từ xa gỡ lỗi đúng từ A đến Z? –

Trả lời

5
  1. Hãy chắc chắn rằng Xcode được cài đặt trên cả hai máy. (Các phiên bản khác nhau là OK!)

  2. Trên máy từ xa (chạy thực thi):

    1. Bắt đầu ứng dụng bạn muốn gỡ lỗi
    2. Bắt đầu debugserver, gắn với ứng dụng của bạn, và lắng nghe cho các kết nối từ Mac khác: /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver development-mac.local:16000 --attach="Photo Booth"
  3. Trên máy phát triển:

    1. Bắt đầu LLĐB bằng cách gõ lldb
    2. Kết nối với máy chủ debug: process connect connect://test-mac.local:16000

Trên máy tính thử nghiệm, bây giờ bạn sẽ thấy thông điệp Waiting for debugger instructions for process 0. Sau một thời gian ngắn, lời nhắc (lldb) sẽ xuất hiện trên máy phát triển của bạn và bạn có thể bắt đầu gỡ lỗi như bình thường.

Thật không may, tôi không chắc chắn cách kết nối từ Xcode.

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