Debug crash của Xamarin.iOS app

Đôi khi app crash, ta nhận được những cái crash report có thể từ device hoặc hockey app. Khi mở ra xem ta thấy backtrace chỉ toàn địa chỉ dạng hex. Đó gọi là dạng unsymbolicated crash. Để có thể đọc được backtrace, tìm được nguyên nhân gây crash từ function nào hoặc từ dòng code nào. Ta cần thực hiện phân giải các địa chỉ hex trong backtrace về sourcecode (việc này còn gọi là Symbolication).
Tập lệnh để symbolicate crash có trong Xcode. Để sử dụng dễ dàng ta sẽ tạo alias bằng cách mở terminal và chạy (áp dụng cho Xcode 8):

alias symbolicate="/Applications/Xcode.app/Contents/SharedFrameworks/DVFoundation.framework/Versions/A/Resources/symbolicatecrash -v"
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

Tiếp theo ta cần tập hợp file app và dSYM, giả sử là myapp.app, myapp.dSYM tìm thấy trong thư mục /bin/iPhone/Release của project , nhớ là phải cùng version với crash log. Và cùng file crash log nữa (ví dụ tên là unsymbolicated.crash) bỏ vào cùng 1 thư mục.

Cuối cùng là chạy lệnh symbolicate trong thư mục đó:

symbolicate -o "symbolicatedcrash.txt" "unsymbolicated.crash" "myapp.app"

Vậy là xong, file symbolicatedcrash.txt sẽ được tạo ra với trace ngon lành.

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s