Gần đây, tôi đã gặp sự cố khi cố biểu tượng nhật ký sự cố của một ứng dụng iOS. Vì một số lý do, UUID của dSYM không được lập chỉ mục trong Spotlight. Sau một số tìm kiếm thủ công và một liều câu thần chú dòng lệnh lành mạnh, tôi đã cố gắng biểu tượng một phần bản ghi sự cố. Lúc đầu, tôi nghĩ rằng dSYM có thể không đầy đủ hoặc một cái gì đó như thế, nhưng sau đó tôi nhận ra rằng các cuộc gọi phương thức thiếu là những cái xảy ra trong mã C++: dự án này là một ứng dụng Objective-C gọi vào thư viện C++ (thông qua Objective-C++) gọi lại mã Objective-C (một lần nữa, thông qua mã Objective-C++). Các cuộc gọi mà tôi đang thiếu là, cụ thể, những cái xảy ra trong đất C++.Có thể tượng trưng cho mã C++ không?
Vì vậy, câu hỏi của tôi là: có cách nào mà quá trình biểu tượng có thể giải quyết các cuộc gọi hàm của mã C++ không? Tôi cần đặt những tùy chọn đặc biệt nào nếu có?
Nó chỉ đơn giản là để lại địa chỉ hoặc nó cung cấp cho bạn một cái gì đó như _ZN7 ...? – C0deH4cker
không, chúng không phải là tên có chức năng bị xáo trộn nếu bạn đề cập đến điều đó. Đó là một địa chỉ cơ sở và một bù đắp: 14 MyApp \t 0x001001bc 0xfe000 + 8636 15 MyApp \t 0x00100174 0xfe000 + 8564 –
nếu bạn 'lldb' ứng dụng của bạn, bạn có thể tháo rời bất kỳ C++ phương pháp theo tên? Bạn có một thư viện tĩnh nhị phân hoặc là bạn biên dịch tất cả mọi thứ trong dự án của bạn? – nielsbot