Документация
Native symbolication
iOS dSYM, Android ProGuard/R8 и mobile breadcrumbs в DevLogs.
Обзор
DevLogs принимает native debug symbols для iOS (dSYM), Android (ProGuard/R8 mapping.txt) и NDK (breakpad .sym). Файлы хранятся в object storage; метаданные — в кабинете и REST API.
| Тип | Endpoint | Символикация |
|---|---|---|
| dSYM (iOS) | POST /api/v1/projects/{id}/symbols/dsym | UUID индекс + привязка bundle в UI |
| ProGuard/R8 | POST /api/v1/projects/{id}/symbols/proguard | Deobfuscation в issue при совпадении release |
| NDK | POST /api/v1/projects/{id}/symbols/ndk | Breakpad .sym → resolve PC offset в issue UI |
UI загрузки
Кабинет → проект → Настройки → Symbol bundles (/dashboard/projects/<id>/settings/symbols): формы dSYM / ProGuard / NDK и список bundles.
dSYM (iOS)
Загрузите .dSYM.zip из Xcode archive или CI. UUID извлекается из Contents/Info.plist или поля формы uuid.
curl -s -X POST "https://dev-logs.ru/api/v1/projects/PROJECT_ID/symbols/dsym" \ -H "Authorization: Bearer dl_live_YOUR_KEY" \ -F release=1.0.0 \ -F file=@App.app.dSYM.zip
При crash со stack frame с image_uuid / UUID binary — в UI показывается badge «dSYM indexed», если bundle с таким UUID загружен.
ProGuard / R8 (Android)
После minifyEnabled true загрузите mapping.txt с тем же release, что у событий в ingest.
curl -s -X POST "https://dev-logs.ru/api/v1/projects/PROJECT_ID/symbols/proguard" \ -H "Authorization: Bearer dl_live_YOUR_KEY" \ -F release=1.0.0 \ -F filename=mapping.txt \ -F file=@app/build/outputs/mapping/release/mapping.txt
NDK (breakpad)
Endpoint принимает breakpad .sym файлы. При native stack с pc 0x… offset резолвится через FUNC/PUBLIC записи sym-файла.
curl -s -X POST "https://dev-logs.ru/api/v1/projects/PROJECT_ID/symbols/ndk" \ -H "Authorization: Bearer dl_live_YOUR_KEY" \ -F release=1.0.0 \ -F filename=libapp.so.sym \ -F file=@obj/local/arm64-v8a/libapp.so.sym
Breadcrumbs (mobile)
Breadcrumbs передаются через стандартный ingest / Sentry-compatible envelope — поле breadcrumbs сохраняется в событии и отображается на странице issue.
- React Native —
@devlogs/sdk-react-nativeнаследуетaddBreadcrumbиз JS SDK. - Android Kotlin —
Client.addBreadcrumb()передcaptureException. - Cocoa / Flutter — массив breadcrumbs в payload или Sentry SDK drop-in.
REST API
GET /api/v1/projects/{id}/symbols— список bundlesDELETE /api/v1/projects/{id}/symbols/{bundleId}
Полный справочник: REST API.