7

Có một tùy chọn trong các thiết lập dự án Android trong Tùy chọn Android phần trên bao bì tab cho phép bạn lựa chọn giữa debugger Xamarin hoặc trình gỡ lỗi của Microsoft. Trình gỡ lỗi Xamarin hoạt động, nhưng không tốt bằng trình gỡ lỗi của Microsoft. Thật không may, tôi nhận được một thông báo lỗi khi cố gắng sử dụng trình gỡ rối của Microsoft và triển khai trên một trong các Trình giả lập Android của Visual Studio.Sử dụng Microsoft debugger với Xamarin Android

Không thể bắt đầu gỡ lỗi. Không thể gỡ cài đặt ứng dụng trên thiết bị đích. Không thể tìm thấy tập tin được yêu cầu '/data/data/My.Application/lib/gdbserver' trên thiết bị. Vui lòng cài đặt phiên bản có thể gỡ lỗi.

Có cách nào để trình gỡ lỗi Microsoft hoạt động không?

+0

Đối với các thử nghiệm trước đây, trình gỡ lỗi Microsoft không bao giờ làm việc với xamarin. –

Trả lời

3

Trình gỡ rối Xamarin chỉ có thể gỡ lỗi mã được quản lý (tức là C#). Các điểm ngắt chỉ hoạt động với trình gỡ rối Xamarin nếu dự án đang được gỡ rối là một dự án được quản lý. Chúng không hoạt động nếu dự án là ứng dụng gốc hoặc thư viện gốc.

Trình gỡ lỗi của Microsoft chỉ có thể gỡ lỗi mã gốc (ví dụ: C/C++). Các điểm ngắt chỉ hoạt động với trình gỡ lỗi của Microsoft nếu dự án đang được gỡ lỗi là một ứng dụng gốc hoặc thư viện gốc hoặc nếu nó được gắn với một quá trình Android đã chạy.

Để tải gdbserver vào gói ứng dụng, bạn phải tham khảo thư viện mã gốc từ ứng dụng được quản lý của bạn hoặc đưa nó (với bộ hành động xây dựng vào AndroidNativeLibrary). Tôi tìm thấy bạn cũng có thể thêm một liên kết đến gdbserver (một lần nữa, với xây dựng hành động thiết lập để AndroidNativeLibrary) từ một dự án và sử dụng đường dẫn sniffing để chọn gdbserver từ ABI phù hợp. Đoạn trích của tệp dự án:

<ItemGroup> 
    <AndroidNativeLibrary Include="$(ANDROID_NDK_ROOT)\prebuilt\android-arm\gdbserver\gdbserver"> 
     <Link>lib\armeabi-v7a\gdbserver</Link> 
    </AndroidNativeLibrary> 
    </ItemGroup> 

Cũng vui lòng xem my answer to a similar question.

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