2012-09-26 61 views
7

Tôi đã cài đặt Sequoyah Android Native Support và bây giờ, tôi có thể thực hiện chế độ gỡ lỗi. Tôi có điểm ngắt trong cùng một dòng nơi tôi gọi một phương thức gốc, vì vậy khi tôi thực thi chế độ gỡ lỗi Java, nhật thực dừng lại trong dòng này, tôi thực thi 'ndk-gdb' và tôi ăn trưa chế độ gỡ lỗi C/C++, xem giao diện điều khiển làm điều gì đó. Nhưng, làm thế nào tôi có thể đặt điểm dừng C? Bởi vì mã C của tôi là một thư viện .so, vì vậy tôi không thể đặt điểm ngắt trong tệp này. Tôi có một bộ mã hóa JNI có các tệp .c và .h, nhưng không dừng lại khi tôi đặt các điểm ngắt. Nhật ký Eclipse nhận ra các điểm ngắt, nhưng in lỗi.Cách gỡ lỗi ứng dụng Android gốc?

ngắt chèn com_example_pruebaffmpeg_MainActivity.c: 4323 lỗi, msg = "Không có bảng biểu tượng nào được tải. Sử dụng lệnh \" tệp \ "."

+0

Bạn đã biên dịch mã C của mình với thông tin/biểu tượng gỡ lỗi đi kèm chưa? Nếu bạn đang biên dịch với GCC, hãy đảm bảo bạn bao gồm tùy chọn '-g' trên cả hai biên dịch và liên kết các bước. –

+0

Tôi không biết những gì bạn giải thích cho tôi. Tôi đang sử dụng ndk-build để biên dịch mã C và lấy một thư viện .so. Và tôi chạy dự án Android trong Eclipse bằng công cụ NDK. – beni

+1

Đối với ndk-build, có các bước khác mà bạn cần thực hiện để xây dựng với các biểu tượng gỡ lỗi. Hãy xem [câu hỏi này] (http://stackoverflow.com/questions/8934575/debugging-android-ndk-native-apps) –

Trả lời

1

Bạn đã thử gỡ cài đặt Sequoyah và chỉ sử dụng ADT chưa? Kể từ phiên bản 20, Eclipse ADT plugin có thể gỡ lỗi các dự án NDK dễ dàng và đáng tin cậy hơn so với cách làm việc của Sequoyah cũ.

+0

Tôi đã gỡ cài đặt Sequoyah và tôi đã cố gắng khởi chạy trình gỡ lỗi bằng cách sử dụng ADT , nhưng nó không chạy. Bạn có thể giải thích nhiều hơn một chút hoặc đăng liên kết không? – beni

+0

Tôi đang làm theo hướng dẫn trên [link] này (http://tools.android.com/recent/usingthendkplugin), nhưng trình gỡ rối không hoạt động – beni

+0

Và bảng điều khiển in lỗi này ----> cảnh báo: trong khi phân tích cú pháp danh sách thư mục đích (tại dòng 2): Không phân đoạn được xác định cho/system/bin/linker BFD:/home/beni/workspace/Prueba/obj/local/armeabi-v7a/linker: cảnh báo: sh_link không được đặt cho mục ' Cảnh báo .ARM.exidx ' : Không thể tải biểu tượng thư viện được chia sẻ cho 63 thư viện, ví dụ: libstdC++. Sử dụng lệnh "info sharedlibrary" để xem danh sách đầy đủ. Bạn có cần "đặt solib-search-path" hoặc "set sysroot" không? Không có bảng biểu tượng nào được tải. Sử dụng lệnh "tập tin". – beni

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