{"id":13785002,"url":"https://github.com/woodemi/quick_breakpad","last_synced_at":"2026-02-21T07:39:55.048Z","repository":{"id":45499922,"uuid":"411153272","full_name":"woodemi/quick_breakpad","owner":"woodemi","description":"A cross-platform flutter plugin for C/C++/ObjC crash report via Google Breakpad","archived":false,"fork":false,"pushed_at":"2021-12-10T05:55:32.000Z","size":6854,"stargazers_count":20,"open_issues_count":3,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T05:48:42.365Z","etag":null,"topics":["breakpad","flutter","multiplatform","plugin"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/woodemi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-28T05:48:49.000Z","updated_at":"2024-10-14T19:24:18.000Z","dependencies_parsed_at":"2022-07-19T01:02:18.389Z","dependency_job_id":null,"html_url":"https://github.com/woodemi/quick_breakpad","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/woodemi/quick_breakpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woodemi%2Fquick_breakpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woodemi%2Fquick_breakpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woodemi%2Fquick_breakpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woodemi%2Fquick_breakpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woodemi","download_url":"https://codeload.github.com/woodemi/quick_breakpad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woodemi%2Fquick_breakpad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29676833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T06:23:40.028Z","status":"ssl_error","status_checked_at":"2026-02-21T06:23:39.222Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["breakpad","flutter","multiplatform","plugin"],"created_at":"2024-08-03T19:00:54.949Z","updated_at":"2026-02-21T07:39:55.032Z","avatar_url":"https://github.com/woodemi.png","language":"C","readme":"# quick_breakpad\n\nA cross-platform flutter plugin for `C/C++/ObjC` crash report via [Google Breakpad](https://chromium.googlesource.com/breakpad/breakpad)\n\n# Use breakpad for quick_breakpad_example\n\n\u003e $CLI_BREAKPAD is local clone of https://github.com/Sunbreak/cli-breakpad.trial\n\n## Android\n\n- run on macOS/Linux\n\n```sh\n# Device/emulator connected\n$ android_abi=`adb shell getprop ro.product.cpu.abi`\n$ pushd example\n$ flutter run\n✓ Built build/app/outputs/flutter-apk/app-debug.apk.\nI/quick_breakpad(28255): JNI_OnLoad\nI quick_breakpad_example(28255): JNI_OnLoad\nD quick_breakpad(28255): Dump path: /data/data/com.example.quick_breakpad_example/cache/54ecbb9d-cef5-4fa9-5b6869b2-198bc87e.dmp\n$ popd\n$ adb shell \"run-as com.example.quick_breakpad_example sh -c 'cat /data/data/com.example.quick_breakpad_example/cache/54ecbb9d-cef5-4fa9-5b6869b2-198bc87e.dmp'\" \u003e| 54ecbb9d-cef5-4fa9-5b6869b2-198bc87e.dmp\n```\n\n- run on Linux (e.g. https://multipass.run/)\n\n\u003e Only C/C++ crash for now\n\n```sh\n$ $CLI_BREAKPAD/breakpad/linux/$(arch)/dump_syms example/build/app/intermediates/cmake/debug/obj/${android_abi}/libquick-breakpad-example.so \u003e libquick-breakpad-example.so.sym\n$ uuid=`awk 'FNR==1{print \\$4}' libquick-breakpad-example.so.sym`\n$ mkdir -p symbols/libquick-breakpad-example.so/$uuid/\n$ mv ./libquick-breakpad-example.so.sym symbols/libquick-breakpad-example.so/$uuid/\n$ $CLI_BREAKPAD/breakpad/linux/$(arch)/minidump_stackwalk 54ecbb9d-cef5-4fa9-5b6869b2-198bc87e.dmp symbols/ \u003e libquick-breakpad-example.so.log\n```\n\n- Show parsed Android log: `head -n 20 libquick-breakpad-example.so.log`\n\nSo the crash is at line 30 of `quick_breakpad_example.cpp`\n\n![image](https://user-images.githubusercontent.com/7928961/135052776-226168bc-ee60-442c-b6b3-78987714e63d.png)\n\n## iOS\n\n- run on macOS\n\n1. Get simulator UUID and run on it\n\n```sh\n$ flutter devices\n1 connected device:\niPhone SE (2nd generation) (mobile) • C7E50B0A-D9AE-4073-9C3C-14DAF9D93329 • ios        • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)\n$ device=C7E50B0A-D9AE-4073-9C3C-14DAF9D93329\n$ pushd example\n$ flutter run -d $device\nRunning Xcode build...                                                  \n └─Compiling, linking and signing...                      2,162ms\nXcode build done.                                            6.2s\nLost connection to device.\n$ popd\n```\n\n2. Find application data and get dump file\n\n```sh\n$ data=`xcrun simctl get_app_container booted com.example.quickBreakpadExample data`\n$ ls $data/Library/Caches/Breakpad\nA1D2CF75-848E-42C4-8F5C-0406E8520647.dmp        Config-FsNxCZ\n$ cp $data/Library/Caches/Breakpad/A1D2CF75-848E-42C4-8F5C-0406E8520647.dmp .\n```\n\n3. Parse the dump file via symbols of `Runner`\n\n\u003e Only C/C++/Objective-C crash for now\n\n```sh\n$ dsymutil example/build/ios/Debug-iphonesimulator/Runner.app/Runner -o Runner.dSYM\n$ $CLI_BREAKPAD/breakpad/mac/dump_syms Runner.dSYM \u003e Runner.sym\n$ uuid=`awk 'FNR==1{print \\$4}' Runner.sym`\n$ mkdir -p symbols/Runner/$uuid/\n$ mv ./Runner.sym symbols/Runner/$uuid/\n$ $CLI_BREAKPAD/breakpad/mac/$(arch)/minidump_stackwalk A1D2CF75-848E-42C4-8F5C-0406E8520647.dmp symbols \u003e Runner.log\n```\n\n- Show parsed iOS log: `head -n 20 Runner.log`\n\nSo the crash is at line 11 of `AppDelegate.m`\n\n![image](https://user-images.githubusercontent.com/7928961/135052660-3f5ebf3a-df20-4176-906e-89c92e76b3f2.png)\n\n## Windows\n\n1. Run the example\n\n- run on Windows\n\n```bat\nrem Command Prompt\n\u003e pushd example\n\u003e flutter run -d windows\nBuilding Windows application...                                         \ndump_path: .\nminidump_id: 34cd2b95-aef1-4003-ae75-1c848b18aad2\n\u003e popd\n\u003e copy example\\34cd2b95-aef1-4003-ae75-1c848b18aad2.dmp .\n```\n\n2. Parse the dump file\n\n- run on Windows\n\n```bat\nrem Command Prompt\n\u003e %CLI_BREAKPAD%\\windows\\%PROCESSOR_ARCHITECTURE%\\dump_syms example\\build\\windows\\runner\\Debug\\quick_breakpad_example.pdb \u003e quick_breakpad_example.sym\n```\n\n- run on Linux\n\n```bat\n# bash or zsh\n$ uuid=`awk 'FNR==1{print \\$4}' quick_breakpad_example.sym`\n$ mkdir -p symbols/quick_breakpad_example.pdb/$uuid/\n$ mv ./quick_breakpad_example.sym symbols/quick_breakpad_example.pdb/$uuid/\n$ ./breakpad/linux/$(arch)/minidump_stackwalk 34cd2b95-aef1-4003-ae75-1c848b18aad2.dmp symbols \u003e quick_breakpad_example.log\n```\n\n3. Show parsed Linux log\n\n- run on Linux\n\n```sh\n# bash or zsh\n$ head -n 20 quick_breakpad_example.log\n```\n\nSo the crash is at line 23 of `flutter_windows.cpp`\n\n![image](https://user-images.githubusercontent.com/7928961/140525793-a5b71332-7a42-4eba-8b75-16a5acb78c4c.png)\n\n\n## macOS\n\nhttps://github.com/woodemi/quick_breakpad/issues/5\n\n## Linux\n\n- run on Linux\n\n```sh\n$ pushd example\n$ flutter run -d linux\nBuilding Linux application...                                           \nDump path: /tmp/d4a1c6ac-2ad7-4301-c22e3c9b-0a4c5588.dmp\n$ popd\n$ cp /tmp/d4a1c6ac-2ad7-4301-c22e3c9b-0a4c5588.dmp .\n```\n\n- parse the dump file\n\n```sh\n# flutterArch=x64 or arm64\n$ $CLI_BREAKPAD/breakpad/linux/$(arch)/dump_syms build/linux/${flutterArch}/debug/bundle/quick_breakpad_example \u003e quick_breakpad_example.sym\n$ uuid=`awk 'FNR==1{print \\$4}' quick_breakpad_example.sym`\n$ mkdir -p symbols/quick_breakpad_example/$uuid/\n$ mv ./quick_breakpad_example.sym symbols/quick_breakpad_example/$uuid/\n$ $CLI_BREAKPAD/breakpad/linux/$(arch)/minidump_stackwalk d4a1c6ac-2ad7-4301-c22e3c9b-0a4c5588.dmp symbols/ \u003e quick_breakpad_example.log\n```\n\n- Show parsed Linux log: `head -n 20 quick_breakpad_example.log`\n\nSo the crash is at line 19 of `my_application.cc`\n\n![image](https://user-images.githubusercontent.com/7928961/135187002-2dd89e60-7cea-4cd0-a26b-f3d81e07d063.png)\n","funding_links":[],"categories":["Packages"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoodemi%2Fquick_breakpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoodemi%2Fquick_breakpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoodemi%2Fquick_breakpad/lists"}