├── app ├── .gitignore ├── lib │ ├── x86 │ │ ├── libcrash-lib.so │ │ └── libbreakpad-core.so │ ├── arm64-v8a │ │ ├── libcrash-lib.so │ │ └── libbreakpad-core.so │ └── armeabi-v7a │ │ ├── libcrash-lib.so │ │ └── libbreakpad-core.so ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ └── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ ├── jniLibs │ │ │ ├── x86 │ │ │ │ ├── libcrash-lib.so │ │ │ │ └── libbreakpad-core.so │ │ │ ├── arm64-v8a │ │ │ │ ├── libcrash-lib.so │ │ │ │ └── libbreakpad-core.so │ │ │ └── armeabi-v7a │ │ │ │ ├── libcrash-lib.so │ │ │ │ └── libbreakpad-core.so │ │ ├── cpp │ │ │ └── crash.cpp │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── devyk │ │ │ └── ykcrash │ │ │ └── MainActivity.java │ └── test │ │ └── java │ │ └── com │ │ └── devyk │ │ └── ykcrash │ │ └── ExampleUnitTest.java ├── CMakeLists.txt ├── proguard-rules.pro └── build.gradle ├── crash_breakpad_build ├── .gitignore ├── src │ ├── main │ │ ├── cpp │ │ │ ├── libbreakpad │ │ │ │ ├── src │ │ │ │ │ ├── third_party │ │ │ │ │ │ ├── musl │ │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ │ ├── README.breakpad │ │ │ │ │ │ │ └── README │ │ │ │ │ │ ├── curl │ │ │ │ │ │ │ ├── types.h │ │ │ │ │ │ │ ├── COPYING │ │ │ │ │ │ │ └── stdcheaders.h │ │ │ │ │ │ ├── mac_headers │ │ │ │ │ │ │ ├── mach │ │ │ │ │ │ │ │ └── machine │ │ │ │ │ │ │ │ │ ├── thread_status.h │ │ │ │ │ │ │ │ │ ├── thread_state.h │ │ │ │ │ │ │ │ │ ├── boolean.h │ │ │ │ │ │ │ │ │ └── vm_types.h │ │ │ │ │ │ │ ├── README │ │ │ │ │ │ │ ├── architecture │ │ │ │ │ │ │ │ └── byte_order.h │ │ │ │ │ │ │ └── i386 │ │ │ │ │ │ │ │ └── _types.h │ │ │ │ │ │ ├── libdisasm │ │ │ │ │ │ │ ├── swig │ │ │ │ │ │ │ │ ├── ruby │ │ │ │ │ │ │ │ │ ├── extconf.rb │ │ │ │ │ │ │ │ │ └── Makefile-swig │ │ │ │ │ │ │ │ ├── perl │ │ │ │ │ │ │ │ │ ├── Makefile.PL │ │ │ │ │ │ │ │ │ └── Makefile-swig │ │ │ │ │ │ │ │ ├── tcl │ │ │ │ │ │ │ │ │ └── Makefile-swig │ │ │ │ │ │ │ │ ├── python │ │ │ │ │ │ │ │ │ └── Makefile-swig │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── x86_operand_list.h │ │ │ │ │ │ │ ├── qword.h │ │ │ │ │ │ │ ├── ia32_invariant.h │ │ │ │ │ │ │ ├── ia32_operand.h │ │ │ │ │ │ │ ├── README.breakpad │ │ │ │ │ │ │ ├── ia32_modrm.h │ │ │ │ │ │ │ ├── ia32_settings.c │ │ │ │ │ │ │ ├── ia32_implicit.h │ │ │ │ │ │ │ ├── x86_imm.h │ │ │ │ │ │ │ ├── ia32_settings.h │ │ │ │ │ │ │ ├── Makefile.am │ │ │ │ │ │ │ ├── TODO │ │ │ │ │ │ │ ├── ia32_opcode_tables.h │ │ │ │ │ │ │ ├── x86_imm.c │ │ │ │ │ │ │ ├── ia32_reg.h │ │ │ │ │ │ │ └── libdisasm.gyp │ │ │ │ │ │ └── lss │ │ │ │ │ │ │ └── codereview.settings │ │ │ │ │ ├── processor │ │ │ │ │ │ ├── microdump_stackwalk_test_vars │ │ │ │ │ │ ├── testdata │ │ │ │ │ │ │ ├── module3_bad.out │ │ │ │ │ │ │ ├── minidump2.dmp │ │ │ │ │ │ │ ├── ascii_read_av.dmp │ │ │ │ │ │ │ ├── ascii_write_av.dmp │ │ │ │ │ │ │ ├── linux_jmp_to_0.dmp │ │ │ │ │ │ │ ├── linux_overflow.dmp │ │ │ │ │ │ │ ├── module4_bad.out │ │ │ │ │ │ │ ├── null_read_av.dmp │ │ │ │ │ │ │ ├── null_write_av.dmp │ │ │ │ │ │ │ ├── exec_av_on_stack.dmp │ │ │ │ │ │ │ ├── linux_stacksmash.dmp │ │ │ │ │ │ │ ├── read_av_non_null.dmp │ │ │ │ │ │ │ ├── stack_exhaustion.dmp │ │ │ │ │ │ │ ├── linux_null_read_av.dmp │ │ │ │ │ │ │ ├── linux_raise_sigabrt.dmp │ │ │ │ │ │ │ ├── read_av_conditional.dmp │ │ │ │ │ │ │ ├── write_av_non_null.dmp │ │ │ │ │ │ │ ├── linux_divide_by_zero.dmp │ │ │ │ │ │ │ ├── linux_executable_heap.dmp │ │ │ │ │ │ │ ├── linux_outside_module.dmp │ │ │ │ │ │ │ ├── read_av_clobber_write.dmp │ │ │ │ │ │ │ ├── ascii_read_av_then_jmp.dmp │ │ │ │ │ │ │ ├── ascii_read_av_xchg_write.dmp │ │ │ │ │ │ │ ├── linux_executable_stack.dmp │ │ │ │ │ │ │ ├── linux_null_dereference.dmp │ │ │ │ │ │ │ ├── linux_write_to_under_4k.dmp │ │ │ │ │ │ │ ├── ascii_read_av_block_write.dmp │ │ │ │ │ │ │ ├── ascii_read_av_conditional.dmp │ │ │ │ │ │ │ ├── ascii_write_av_arg_to_call.dmp │ │ │ │ │ │ │ ├── ascii_read_av_clobber_write.dmp │ │ │ │ │ │ │ ├── linux_stack_pointer_in_module.dmp │ │ │ │ │ │ │ ├── linux_stack_pointer_in_stack.dmp │ │ │ │ │ │ │ ├── linux_write_to_outside_module.dmp │ │ │ │ │ │ │ ├── linux_inside_module_exe_region1.dmp │ │ │ │ │ │ │ ├── linux_inside_module_exe_region2.dmp │ │ │ │ │ │ │ ├── linux_jmp_to_module_not_exe_region.dmp │ │ │ │ │ │ │ ├── linux_write_to_nonwritable_module.dmp │ │ │ │ │ │ │ ├── linux_stack_pointer_in_stack_alt_name.dmp │ │ │ │ │ │ │ ├── linux_write_to_nonwritable_region_math.dmp │ │ │ │ │ │ │ ├── linux_write_to_outside_module_via_math.dmp │ │ │ │ │ │ │ ├── module2.out │ │ │ │ │ │ │ ├── module1.out │ │ │ │ │ │ │ ├── symbols │ │ │ │ │ │ │ │ └── microdump │ │ │ │ │ │ │ │ │ └── crash_example │ │ │ │ │ │ │ │ │ ├── 8F36148CC4647A8116CAF2A25F591F570 │ │ │ │ │ │ │ │ │ └── crash_example.sym │ │ │ │ │ │ │ │ │ └── 6E72E2F1A5F59AB3D51356FDFE394D490 │ │ │ │ │ │ │ │ │ └── crash_example.sym │ │ │ │ │ │ │ ├── microdump.stackwalk.machine_readable-arm.out │ │ │ │ │ │ │ ├── minidump2.stackwalk.machine_readable.out │ │ │ │ │ │ │ ├── minidump2.stackwalk.out │ │ │ │ │ │ │ └── microdump.stackwalk.machine_readable-arm64.out │ │ │ │ │ │ ├── proto │ │ │ │ │ │ │ └── README │ │ │ │ │ │ ├── minidump_dump_test │ │ │ │ │ │ ├── dump_object.cc │ │ │ │ │ │ ├── minidump_stackwalk_test │ │ │ │ │ │ ├── minidump_stackwalk_machine_readable_test │ │ │ │ │ │ ├── convert_old_arm64_context.h │ │ │ │ │ │ ├── processor_tools.gypi │ │ │ │ │ │ ├── microdump_stackwalk_test │ │ │ │ │ │ ├── microdump_stackwalk_machine_readable_test │ │ │ │ │ │ ├── call_stack.cc │ │ │ │ │ │ ├── symbolic_constants_win.h │ │ │ │ │ │ ├── stackwalk_common.h │ │ │ │ │ │ ├── pathname_stripper.h │ │ │ │ │ │ └── pathname_stripper.cc │ │ │ │ │ ├── client │ │ │ │ │ │ └── linux │ │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ ├── linux-gate-intel.sym │ │ │ │ │ │ │ └── linux-gate-amd.sym │ │ │ │ │ │ │ ├── crash_generation │ │ │ │ │ │ │ └── client_info.h │ │ │ │ │ │ │ └── handler │ │ │ │ │ │ │ └── microdump_extra_info.h │ │ │ │ │ ├── tools │ │ │ │ │ │ ├── windows │ │ │ │ │ │ │ ├── binaries │ │ │ │ │ │ │ │ ├── dump_syms.exe │ │ │ │ │ │ │ │ └── symupload.exe │ │ │ │ │ │ │ ├── dump_syms │ │ │ │ │ │ │ │ ├── testdata │ │ │ │ │ │ │ │ │ ├── omap_stretched.pdb │ │ │ │ │ │ │ │ │ ├── dump_syms_regtest.pdb │ │ │ │ │ │ │ │ │ ├── omap_reorder_bbs.pdb │ │ │ │ │ │ │ │ │ ├── dump_syms_regtest64.exe │ │ │ │ │ │ │ │ │ ├── dump_syms_regtest64.pdb │ │ │ │ │ │ │ │ │ ├── omap_reorder_funcs.pdb │ │ │ │ │ │ │ │ │ └── omap_stretched_filled.pdb │ │ │ │ │ │ │ │ └── run_regtest.sh │ │ │ │ │ │ │ ├── refresh_binaries.bat │ │ │ │ │ │ │ ├── tools_windows.gyp │ │ │ │ │ │ │ ├── converter │ │ │ │ │ │ │ │ └── ms_symbol_server_converter.gyp │ │ │ │ │ │ │ └── symupload │ │ │ │ │ │ │ │ └── symupload.gyp │ │ │ │ │ │ ├── solaris │ │ │ │ │ │ │ └── dump_syms │ │ │ │ │ │ │ │ ├── testdata │ │ │ │ │ │ │ │ ├── dump_syms_regtest.o │ │ │ │ │ │ │ │ └── dump_syms_regtest.sym │ │ │ │ │ │ │ │ ├── run_regtest.sh │ │ │ │ │ │ │ │ ├── dump_syms.cc │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ └── tools.gyp │ │ │ │ │ ├── common │ │ │ │ │ │ ├── android │ │ │ │ │ │ │ └── include │ │ │ │ │ │ │ │ ├── asm-mips │ │ │ │ │ │ │ │ └── README.md │ │ │ │ │ │ │ │ ├── sys │ │ │ │ │ │ │ │ └── signal.h │ │ │ │ │ │ │ │ └── ucontext.h │ │ │ │ │ │ ├── md5.h │ │ │ │ │ │ ├── mac │ │ │ │ │ │ │ ├── BreakpadDebug.xcconfig │ │ │ │ │ │ │ ├── BreakpadRelease.xcconfig │ │ │ │ │ │ │ ├── bootstrap_compat.cc │ │ │ │ │ │ │ ├── launch_reporter.h │ │ │ │ │ │ │ ├── arch_utilities.h │ │ │ │ │ │ │ ├── string_utilities.h │ │ │ │ │ │ │ └── scoped_task_suspend-inl.h │ │ │ │ │ │ ├── symbol_data.h │ │ │ │ │ │ ├── stdio_wrapper.h │ │ │ │ │ │ ├── path_helper.h │ │ │ │ │ │ ├── linux │ │ │ │ │ │ │ ├── elf_gnu_compat.h │ │ │ │ │ │ │ ├── ignore_ret.h │ │ │ │ │ │ │ ├── guid_creator.h │ │ │ │ │ │ │ ├── symbol_upload.h │ │ │ │ │ │ │ └── crc32.h │ │ │ │ │ │ ├── simple_string_dictionary.cc │ │ │ │ │ │ ├── solaris │ │ │ │ │ │ │ ├── dump_symbols.h │ │ │ │ │ │ │ └── guid_creator.h │ │ │ │ │ │ ├── dwarf │ │ │ │ │ │ │ └── types.h │ │ │ │ │ │ ├── path_helper.cc │ │ │ │ │ │ └── minidump_type_helper.h │ │ │ │ │ └── google_breakpad │ │ │ │ │ │ └── processor │ │ │ │ │ │ ├── proc_maps_linux.h │ │ │ │ │ │ └── dump_object.h │ │ │ │ └── CMakeLists.txt │ │ │ ├── CMakeLists.txt │ │ │ └── breakpad.cpp │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── devyk │ │ │ └── crash_module │ │ │ └── inter │ │ │ ├── ICrash.java │ │ │ └── NativeCrashImp.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── devyk │ │ │ └── crash_module │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── devyk │ │ └── crash_module │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── encodings.xml ├── vcs.xml ├── runConfigurations.xml ├── gradle.xml └── codeStyles │ └── Project.xml ├── .gitignore ├── gradle.properties └── config.gradle /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /crash_breakpad_build/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':crash_breakpad_build' 2 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/musl/VERSION: -------------------------------------------------------------------------------- 1 | 1.1.14 2 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/curl/types.h: -------------------------------------------------------------------------------- 1 | /* not used */ 2 | -------------------------------------------------------------------------------- /app/lib/x86/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/x86/libcrash-lib.so -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | YKCrash 3 | 4 | -------------------------------------------------------------------------------- /app/lib/x86/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/x86/libbreakpad-core.so -------------------------------------------------------------------------------- /app/lib/arm64-v8a/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/arm64-v8a/libcrash-lib.so -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/lib/arm64-v8a/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/arm64-v8a/libbreakpad-core.so -------------------------------------------------------------------------------- /app/lib/armeabi-v7a/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/armeabi-v7a/libcrash-lib.so -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/microdump_stackwalk_test_vars: -------------------------------------------------------------------------------- 1 | MICRODUMP_SUPPORTED_ARCHS="arm arm64" 2 | -------------------------------------------------------------------------------- /app/lib/armeabi-v7a/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/lib/armeabi-v7a/libbreakpad-core.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/x86/libcrash-lib.so -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | crash_module 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/x86/libbreakpad-core.so -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/mac_headers/mach/machine/thread_status.h: -------------------------------------------------------------------------------- 1 | /* This file intentionally left blank */ 2 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/arm64-v8a/libcrash-lib.so -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libcrash-lib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/armeabi-v7a/libcrash-lib.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/arm64-v8a/libbreakpad-core.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libbreakpad-core.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/jniLibs/armeabi-v7a/libbreakpad-core.so -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/module3_bad.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 333333333333333333333333333333333 module3.pdb 2 | FILE 1 file1.cc 3 | FUNC 1000 4 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/swig/ruby/extconf.rb: -------------------------------------------------------------------------------- 1 | require 'mkmf' 2 | find_library('disasm', 'x86_init', "/usr/local/lib", "../..") 3 | create_makefile('x86disasm') 4 | 5 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/minidump2.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/minidump2.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/mac_headers/README: -------------------------------------------------------------------------------- 1 | These headers were copied from the Mac OS X 10.7 SDK to enable building 2 | the Mac dump_syms code that processes Mach-O files on Linux. 3 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/client/linux/data/linux-gate-intel.sym: -------------------------------------------------------------------------------- 1 | MODULE Linux x86 4FBDA58B5A1DF5A379E3CF19A235EA090 linux-gate.so 2 | PUBLIC 400 0 __kernel_vsyscall 3 | STACK WIN 4 400 200 3 3 0 0 0 0 0 1 -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/client/linux/data/linux-gate-amd.sym: -------------------------------------------------------------------------------- 1 | MODULE Linux x86 B8CFDE93002D54DA1900A40AA1BD67690 linux-gate.so 2 | PUBLIC 400 0 __kernel_vsyscall 3 | STACK WIN 4 400 100 1 1 0 0 0 0 0 1 4 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_write_av.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_write_av.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_jmp_to_0.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_jmp_to_0.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_overflow.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_overflow.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/module4_bad.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 444444444444444444444444444444444 module4.pdb 2 | FILE 1 file4_1.cc 3 | FILE 2 file4_2.cc 4 | 1000 4 44 1 5 | 1004 4 45 1 6 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/null_read_av.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/null_read_av.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/null_write_av.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/null_write_av.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/binaries/dump_syms.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/binaries/dump_syms.exe -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/binaries/symupload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/binaries/symupload.exe -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/exec_av_on_stack.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/exec_av_on_stack.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stacksmash.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stacksmash.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_non_null.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_non_null.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/stack_exhaustion.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/stack_exhaustion.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_null_read_av.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_null_read_av.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_raise_sigabrt.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_raise_sigabrt.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_conditional.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_conditional.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/write_av_non_null.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/write_av_non_null.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/musl/README.breakpad: -------------------------------------------------------------------------------- 1 | This directory contains the elf header from 2 | https://git.musl-libc.org/cgit/musl/tree/ 3 | that is required to get ELF working in dump_syms on Mac OS X. 4 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_divide_by_zero.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_divide_by_zero.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_executable_heap.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_executable_heap.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_outside_module.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_outside_module.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_clobber_write.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/read_av_clobber_write.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/swig/perl/Makefile.PL: -------------------------------------------------------------------------------- 1 | use ExtUtils::MakeMaker; 2 | 3 | WriteMakefile( 4 | 'NAME' => 'x86disasm', 5 | 'LIBS' => ['-ldisasm'], 6 | 'OBJECT' => 'x86disasm_wrap.o' 7 | ); 8 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_then_jmp.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_then_jmp.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_xchg_write.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_xchg_write.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_executable_stack.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_executable_stack.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_null_dereference.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_null_dereference.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_under_4k.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_under_4k.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_block_write.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_block_write.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_conditional.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_conditional.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_write_av_arg_to_call.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_write_av_arg_to_call.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/x86_operand_list.h: -------------------------------------------------------------------------------- 1 | #ifndef X86_OPERAND_LIST_H 2 | #define X86_OPERAND_LIST_H 3 | #include "libdis.h" 4 | 5 | 6 | x86_op_t * x86_operand_new( x86_insn_t *insn ); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_clobber_write.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/ascii_read_av_clobber_write.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_module.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_module.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_stack.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_stack.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_outside_module.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_outside_module.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.o -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_inside_module_exe_region1.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_inside_module_exe_region1.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_inside_module_exe_region2.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_inside_module_exe_region2.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_jmp_to_module_not_exe_region.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_jmp_to_module_not_exe_region.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_nonwritable_module.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_nonwritable_module.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_stack_alt_name.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_stack_pointer_in_stack_alt_name.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_nonwritable_region_math.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_nonwritable_region_math.dmp -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_outside_module_via_math.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangkun19921001/YKCrash/HEAD/crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/linux_write_to_outside_module_via_math.dmp -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Sep 16 22:40:30 CST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/qword.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBDISASM_QWORD_H 2 | #define LIBDISASM_QWORD_H 3 | 4 | #include 5 | 6 | /* platform independent data types */ 7 | 8 | #ifdef _MSC_VER 9 | typedef __int64 qword_t; 10 | #else 11 | typedef int64_t qword_t; 12 | #endif 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/lss/codereview.settings: -------------------------------------------------------------------------------- 1 | # This file is used by git cl to get repository specific information. 2 | CC_LIST: chromium-reviews@chromium.org,mseaborn@chromium.org 3 | CODE_REVIEW_SERVER: codereview.chromium.org 4 | GERRIT_HOST: True 5 | VIEW_VC: https://chromium.googlesource.com/linux-syscall-support/+/ 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/crash.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | /** 6 | * 引起 crash 7 | */ 8 | void Crash() { 9 | volatile int *a = (int *) (NULL); 10 | *a = 1; 11 | } 12 | 13 | extern "C" 14 | JNIEXPORT void JNICALL 15 | Java_com_devyk_ykcrash_MainActivity_testCrash(JNIEnv *env, jclass type) { 16 | 17 | // TODO 18 | Crash(); 19 | } -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/mac_headers/mach/machine/thread_state.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is a stub with the bare minimum needed to make things work. 3 | */ 4 | #ifndef _MACH_MACHINE_THREAD_STATE_H_ 5 | #define _MACH_MACHINE_THREAD_STATE_H_ 6 | 7 | #define THREAD_STATE_MAX 1 8 | 9 | #endif /* _MACH_MACHINE_THREAD_STATE_H_ */ 10 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/ia32_invariant.h: -------------------------------------------------------------------------------- 1 | #ifndef IA32_INVARIANT_H 2 | #define IA32_INVARIANT_H 3 | 4 | #include "libdis.h" 5 | 6 | size_t ia32_disasm_invariant( unsigned char *buf, size_t buf_len, 7 | x86_invariant_t *inv); 8 | 9 | size_t ia32_disasm_size( unsigned char *buf, size_t buf_len ); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/ia32_operand.h: -------------------------------------------------------------------------------- 1 | #ifndef IA32_OPERAND_H 2 | #define IA32_OPERAND_H 3 | 4 | #include "libdis.h" 5 | #include "ia32_insn.h" 6 | 7 | size_t ia32_decode_operand( unsigned char *buf, size_t buf_len, 8 | x86_insn_t *insn, unsigned int raw_op, 9 | unsigned int raw_flags, unsigned int prefixes, 10 | unsigned char modrm ); 11 | #endif 12 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/README.breakpad: -------------------------------------------------------------------------------- 1 | Name: libdisasm 2 | URL: https://sourceforge.net/projects/bastard/files/libdisasm/0.23/libdisasm-0.23.tar.gz/download 3 | Version: 0.23 4 | License: Clarified-Artistic 5 | License File: LICENSE 6 | 7 | Description: 8 | This contains a copy of libdisasm. It is no longer under development upstream, 9 | so we keep a copy here to maintain fixes ourselves. 10 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/ia32_modrm.h: -------------------------------------------------------------------------------- 1 | #ifndef IA32_MODRM_H 2 | #define IA32_MODRM_H 3 | 4 | #include "libdis.h" 5 | #include "ia32_insn.h" 6 | 7 | size_t ia32_modrm_decode( unsigned char *buf, unsigned int buf_len, 8 | x86_op_t *op, x86_insn_t *insn, 9 | size_t gen_regs ); 10 | 11 | void ia32_reg_decode( unsigned char byte, x86_op_t *op, size_t gen_regs ); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/ia32_settings.c: -------------------------------------------------------------------------------- 1 | #include "libdis.h" 2 | #include "ia32_settings.h" 3 | #include "ia32_reg.h" 4 | #include "ia32_insn.h" 5 | 6 | ia32_settings_t ia32_settings = { 7 | 1, 0xF4, 8 | MAX_INSTRUCTION_SIZE, 9 | 4, 4, 8, 4, 8, 10 | REG_ESP_INDEX, REG_EBP_INDEX, REG_EIP_INDEX, REG_FLAGS_INDEX, 11 | REG_DWORD_OFFSET, REG_SEG_OFFSET, REG_FPU_OFFSET, 12 | opt_none 13 | }; 14 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/ia32_implicit.h: -------------------------------------------------------------------------------- 1 | #ifndef IA32_IMPLICIT_H 2 | #define IA32_IMPLICIT_H 3 | 4 | #include "libdis.h" 5 | 6 | /* OK, this is a hack to deal with prefixes having implicit operands... 7 | * thought I had removed all the old hackishness ;( */ 8 | 9 | #define IDX_IMPLICIT_REP 41 /* change this if the table changes! */ 10 | 11 | unsigned int ia32_insn_implicit_ops( x86_insn_t *insn, unsigned int impl_idx ); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /app/src/test/java/com/devyk/ykcrash/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.devyk.ykcrash; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/java/com/devyk/crash_module/inter/ICrash.java: -------------------------------------------------------------------------------- 1 | package com.devyk.crash_module.inter; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | *
 7 |  *     author  : devyk on 2019-09-18 01:29
 8 |  *     blog    : https://juejin.im/user/578259398ac2470061f3a3fb/posts
 9 |  *     github  : https://github.com/yangkun19921001
10 |  *     mailbox : yang1001yk@gmail.com
11 |  *     desc    : This is ICrash
12 |  * 
13 | */ 14 | public interface ICrash { 15 | 16 | void init(Context context, String logPath); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/third_party/libdisasm/x86_imm.h: -------------------------------------------------------------------------------- 1 | #ifndef x86_IMM_H 2 | #define x86_IMM_H 3 | 4 | #include "./qword.h" 5 | #include 6 | 7 | #ifdef WIN32 8 | #include 9 | #endif 10 | 11 | /* these are in the global x86 namespace but are not a part of the 12 | * official API */ 13 | unsigned int x86_imm_sized( unsigned char *buf, size_t buf_len, void *dest, 14 | unsigned int size ); 15 | 16 | unsigned int x86_imm_signsized( unsigned char *buf, size_t buf_len, void *dest, 17 | unsigned int size ); 18 | #endif 19 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/common/android/include/asm-mips/README.md: -------------------------------------------------------------------------------- 1 | # asm-mips 2 | 3 | The files in this directory are almost direct copies from Android NDK r12, with 4 | the exception of changing the include guards to Breakpad ones. They are copied 5 | from the MIPS asm/ directory, but are meant to be used as replacements for both 6 | asm/ and machine/ includes since the files in each are largely duplicates. 7 | 8 | Some MIPS asm/ and all machine/ headers were removed in the move to unified NDK 9 | headers, so Breakpad fails to compile on newer NDK versions without these files. -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/common/md5.h: -------------------------------------------------------------------------------- 1 | // Copyright 2007 Google Inc. All Rights Reserved. 2 | // Author: liuli@google.com (Liu Li) 3 | #ifndef COMMON_MD5_H__ 4 | #define COMMON_MD5_H__ 5 | 6 | #include 7 | 8 | namespace google_breakpad { 9 | 10 | typedef uint32_t u32; 11 | typedef uint8_t u8; 12 | 13 | struct MD5Context { 14 | u32 buf[4]; 15 | u32 bits[2]; 16 | u8 in[64]; 17 | }; 18 | 19 | void MD5Init(struct MD5Context *ctx); 20 | 21 | void MD5Update(struct MD5Context *ctx, unsigned char const *buf, size_t len); 22 | 23 | void MD5Final(unsigned char digest[16], struct MD5Context *ctx); 24 | 25 | } // namespace google_breakpad 26 | 27 | #endif // COMMON_MD5_H__ 28 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/test/java/com/devyk/crash_module/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.devyk.crash_module; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | 18 | 19 | @Test 20 | public void test() { 21 | // new Crash.CrashBuild(null). 22 | // nativeCrashPath(""). 23 | // javaCrashPath("", null). 24 | // build(); 25 | } 26 | } -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/proto/README: -------------------------------------------------------------------------------- 1 | If you wish to use these protobufs, you must generate their source files 2 | using protoc from the protobuf project (https://github.com/google/protobuf). 3 | 4 | ----- 5 | Troubleshooting for Protobuf: 6 | 7 | Install: 8 | If you are getting permission errors install, make sure you are not trying to 9 | install from an NFS. 10 | 11 | 12 | Running protoc: 13 | protoc: error while loading shared libraries: libprotobuf.so.0: cannot open 14 | shared object file: No such file or directory 15 | 16 | The issue is that Ubuntu 8.04 doesn't include /usr/local/lib in 17 | library paths. 18 | 19 | To fix it for your current terminal session, just type in 20 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 21 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/java/com/devyk/crash_module/inter/NativeCrashImp.java: -------------------------------------------------------------------------------- 1 | package com.devyk.crash_module.inter; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | *
 7 |  *     author  : devyk on 2019-09-18 01:30
 8 |  *     blog    : https://juejin.im/user/578259398ac2470061f3a3fb/posts
 9 |  *     github  : https://github.com/yangkun19921001
10 |  *     mailbox : yang1001yk@gmail.com
11 |  *     desc    : This is NativeCrashImp
12 |  * 
13 | */ 14 | public class NativeCrashImp implements ICrash { 15 | 16 | static { 17 | System.loadLibrary("breakpad-core"); 18 | } 19 | 20 | private static native void initBreakpadNative(String path); 21 | 22 | @Override 23 | public void init(Context context, String logPath) { 24 | initBreakpadNative(logPath); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /crash_breakpad_build/src/main/cpp/libbreakpad/src/processor/testdata/module2.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 222222222 module2.pdb 2 | FILE 1 file2_1.cc 3 | FILE 2 file2_2.cc 4 | FILE 3 file2_3.cc 5 | FUNC 2000 c 4 Function2_1 6 | 1000 4 54 1 7 | 1004 4 55 1 8 | 1008 4 56 1 9 | PUBLIC 2160 0 Public2_1 10 | FUNC 2170 14 4 Function2_2 11 | 2170 6 10 2 12 | 2176 4 12 2 13 | 217a 6 13 2 14 | 2180 4 21 2 15 | PUBLIC 21a0 0 Public2_2 16 | STACK WIN 4 2000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 17 | STACK WIN 4 2170 14 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 18 | STACK CFI INIT 3df0 af .cfa: $esp 4 + .ra: .cfa 4 - ^ 19 | STACK CFI 3df1 .cfa: $esp 8 + 20 | STACK CFI 3df3 .cfa: $ebp 8 + $ebp: .cfa 8 - ^ 21 | STACK CFI 3e04 $ebx: .cfa 20 - ^ 22 | STACK CFI 3e0a $esi: .cfa 16 - ^ 23 | STACK CFI 3e34 $edi: .cfa 12 - ^ 24 | -------------------------------------------------------------------------------- /app/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.4.1) 3 | 4 | 5 | add_library( # Sets the name of the library. 6 | crash-lib 7 | 8 | # Sets the library as a shared library. 9 | SHARED 10 | 11 | # Provides a relative path to your source file(s). 12 | src/main/cpp/crash.cpp) 13 | 14 | find_library( # Sets the name of the path variable. 15 | log-lib 16 | 17 | # Specifies the name of the NDK library that 18 | # you want CMake to locate. 19 | log ) 20 | 21 | 22 | target_link_libraries( # Specifies the target library. 23 | crash-lib 24 | 25 | # Links the target library to the log library 26 | # included in the NDK. 27 | ${log-lib} ) -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /crash_breakpad_build/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 |