11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 yanbo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # android-crash
2 | 一个 Android 平台支持捕获 Native(C/C++) 层和 Java 层崩溃异常的迷你库。
3 |
4 | # 业余努力开发中......
5 | 后续计划支持 js、mapping自动化、obj so 自动化。
6 |
7 | # 模块介绍
8 |
9 | |模块名|说明|
10 | |----|----|
11 | |base-crash-core|设备信息获取、崩溃目录管理、崩溃通用上传处理。|
12 | |native-crash-core|`C/C++` Native 层崩溃捕获处理,可单独使用。|
13 | |java-crash-core|`java/kotlin` JVM 语言崩溃捕获处理,可单独使用。|
14 | |android-crash-core|`C/C++` Native、`java/kotlin` JVM 语言崩溃统一处理。|
15 |
16 | |test-demo-app| 测试 App,用来演示相关功能接入。|
17 |
--------------------------------------------------------------------------------
/android-crash-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android-crash-core/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 27
5 |
6 |
7 |
8 | defaultConfig {
9 | minSdkVersion 14
10 | targetSdkVersion 27
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 |
25 | }
26 |
27 | dependencies {
28 | implementation fileTree(dir: 'libs', include: ['*.jar'])
29 |
30 | implementation 'com.android.support:appcompat-v7:27.1.1'
31 | testImplementation 'junit:junit:4.12'
32 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
33 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
34 | }
35 |
--------------------------------------------------------------------------------
/android-crash-core/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 |
--------------------------------------------------------------------------------
/android-crash-core/src/androidTest/java/cn/yan/full/crash/core/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.full.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("cn.yan.full.crash.core.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/android-crash-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/android-crash-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | full-crash-core
3 |
4 |
--------------------------------------------------------------------------------
/android-crash-core/src/test/java/cn/yan/full/crash/core/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.full.crash.core;
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 | }
--------------------------------------------------------------------------------
/base-crash-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/base-crash-core/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 27
5 |
6 |
7 |
8 | defaultConfig {
9 | minSdkVersion 14
10 | targetSdkVersion 27
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 |
25 | }
26 |
27 | dependencies {
28 | implementation fileTree(dir: 'libs', include: ['*.jar'])
29 |
30 | implementation 'com.android.support:appcompat-v7:27.1.1'
31 | testImplementation 'junit:junit:4.12'
32 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
33 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
34 | }
35 |
--------------------------------------------------------------------------------
/base-crash-core/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 |
--------------------------------------------------------------------------------
/base-crash-core/src/androidTest/java/cn/yan/base/crash/core/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.base.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("cn.yan.base.crash.core.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/base-crash-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/base-crash-core/src/main/java/cn/yan/base/crash/core/CrashDump.java:
--------------------------------------------------------------------------------
1 | package cn.yan.base.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.annotation.NonNull;
5 | import android.support.annotation.Nullable;
6 | import android.support.annotation.StringDef;
7 | import java.lang.annotation.Retention;
8 | import java.io.File;
9 | import static java.lang.annotation.RetentionPolicy.SOURCE;
10 |
11 | final public class CrashDump {
12 | @Retention(SOURCE)
13 | @StringDef({DIR_NATIVE, DIR_JVM})
14 | public @interface CrashType {}
15 |
16 | public static final String DIR_NATIVE = "native";
17 | public static final String DIR_JVM = "jvm";
18 |
19 | private static final String DIR_CRASH = ".crash";
20 |
21 | @Nullable
22 | public static File getAssignedDir(@NonNull Context context, @CrashType String type) {
23 | File file = context.getExternalCacheDir();
24 | if (file != null && file.exists()) {
25 | String typeDir = file.getPath() + File.separator + DIR_CRASH + File.separator + type;
26 | file = new File(typeDir);
27 | if (!file.exists()) {
28 | file.mkdirs();
29 | }
30 | }
31 | return file;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/base-crash-core/src/main/java/cn/yan/base/crash/core/CrashUpload.java:
--------------------------------------------------------------------------------
1 | package cn.yan.base.crash.core;
2 |
3 | import android.app.IntentService;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.support.annotation.NonNull;
7 | import android.support.annotation.Nullable;
8 | import android.util.Log;
9 |
10 | final public class CrashUpload {
11 | public static void start(@NonNull Context context) {
12 | Intent intent = new Intent(context, WorkService.class);
13 | intent.setPackage(context.getPackageName());
14 | context.startService(intent);
15 | }
16 |
17 | public static final class WorkService extends IntentService {
18 | private static final String TAG = "CrashUpload$WorkService";
19 |
20 | public WorkService() {
21 | super(TAG);
22 | }
23 |
24 | @Override
25 | protected void onHandleIntent(@Nullable Intent intent) {
26 | //TODO ...
27 | Log.i(TAG, "WorkService------------onHandleIntent.");
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/base-crash-core/src/main/java/cn/yan/base/crash/core/DebugLog.java:
--------------------------------------------------------------------------------
1 | package cn.yan.base.crash.core;
2 |
3 | import android.util.Log;
4 |
5 | public class DebugLog {
6 | private static final boolean DEBUG = BuildConfig.DEBUG;
7 | private static final String TAG = "androidCrash";
8 |
9 | private DebugLog() {}
10 |
11 | public static void d(String desc) {
12 | if (DEBUG) {
13 | Log.d(TAG, desc);
14 | }
15 | }
16 |
17 | public static void d(String desc, Throwable tr) {
18 | if (DEBUG) {
19 | Log.d(TAG, desc, tr);
20 | }
21 | }
22 |
23 | public static void v(String desc) {
24 | if (DEBUG) {
25 | Log.v(TAG, desc);
26 | }
27 | }
28 | public static void v(String desc, Throwable tr) {
29 | if (DEBUG) {
30 | Log.v(TAG, desc, tr);
31 | }
32 | }
33 |
34 | public static void w(String desc) {
35 | if (DEBUG) {
36 | Log.w(TAG, desc);
37 | }
38 | }
39 |
40 | public static void w(String desc, Throwable tr) {
41 | if (DEBUG) {
42 | Log.w(TAG, desc, tr);
43 | }
44 | }
45 |
46 | public static void i(String desc) {
47 | if (DEBUG) {
48 | Log.i(TAG, desc);
49 | }
50 | }
51 |
52 | public static void i(String desc, Throwable tr) {
53 | if (DEBUG) {
54 | Log.i(TAG, desc, tr);
55 | }
56 | }
57 |
58 | public static void e(String desc) {
59 | if (DEBUG) {
60 | Log.e(TAG, desc);
61 | }
62 | }
63 |
64 | public static void e(String desc, Throwable tr) {
65 | if (DEBUG) {
66 | Log.e(TAG, desc, tr);
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/base-crash-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | base-crash-core
3 |
4 |
--------------------------------------------------------------------------------
/base-crash-core/src/test/java/cn/yan/base/crash/core/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.base.crash.core;
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 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | ext.kotlin_version = '1.2.61'
5 | ext.kotlin_version = '1.2.50'
6 | repositories { maven { url './repo' }
7 | maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
8 | google()
9 | jcenter()
10 | }
11 | dependencies {
12 | classpath 'com.android.tools.build:gradle:3.1.4'
13 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
14 |
15 | // NOTE: Do not place your application dependencies here; they belong
16 | // in the individual module build.gradle files
17 | classpath 'cn.yan.crash.gradle:crash-gradle-plugin:1.0.0'
18 | }
19 | }
20 |
21 | allprojects {
22 | repositories {
23 | maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
24 | google()
25 | jcenter()
26 | }
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Aug 22 21:03:45 CST 2018
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-4.4-all.zip
7 |
--------------------------------------------------------------------------------
/java-crash-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/java-crash-core/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 27
5 |
6 |
7 |
8 | defaultConfig {
9 | minSdkVersion 14
10 | targetSdkVersion 27
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 |
25 | }
26 |
27 | dependencies {
28 | implementation fileTree(dir: 'libs', include: ['*.jar'])
29 |
30 | implementation 'com.android.support:appcompat-v7:27.1.1'
31 | testImplementation 'junit:junit:4.12'
32 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
33 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
34 | compile project(":base-crash-core")
35 | }
36 |
--------------------------------------------------------------------------------
/java-crash-core/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 |
--------------------------------------------------------------------------------
/java-crash-core/src/androidTest/java/cn/yan/java/crash/core/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.java.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("cn.yan.java.crash.core.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/java-crash-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/java-crash-core/src/main/java/cn/yan/java/crash/core/JavaCrashHandler.java:
--------------------------------------------------------------------------------
1 | package cn.yan.java.crash.core;
2 |
3 | public class JavaCrashHandler implements Thread.UncaughtExceptionHandler {
4 | @Override
5 | public void uncaughtException(Thread t, Throwable e) {
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/java-crash-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | java-crash-core
3 |
4 |
--------------------------------------------------------------------------------
/java-crash-core/src/test/java/cn/yan/java/crash/core/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.java.crash.core;
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 | }
--------------------------------------------------------------------------------
/native-crash-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /.externalNativeBuild
--------------------------------------------------------------------------------
/native-crash-core/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion 27
6 |
7 |
8 |
9 | defaultConfig {
10 | minSdkVersion 14
11 | targetSdkVersion 27
12 | versionCode 1
13 | versionName "1.0"
14 |
15 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
16 |
17 | }
18 |
19 | buildTypes {
20 | release {
21 | minifyEnabled false
22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
23 | }
24 | }
25 |
26 | externalNativeBuild {
27 | ndkBuild {
28 | path 'src/main/jni/Android.mk'
29 | }
30 | }
31 | }
32 |
33 | dependencies {
34 | implementation fileTree(dir: 'libs', include: ['*.jar'])
35 |
36 | implementation 'com.android.support:appcompat-v7:27.1.1'
37 | testImplementation 'junit:junit:4.12'
38 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
39 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
40 | compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
41 | compile project(":base-crash-core")
42 | }
43 | repositories {
44 | mavenCentral()
45 | }
--------------------------------------------------------------------------------
/native-crash-core/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/androidTest/java/cn/yan/crash/core/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("cn.yan.crash.core.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/java/cn/yan/crash/core/NativeCrash.java:
--------------------------------------------------------------------------------
1 | package cn.yan.crash.core;
2 |
3 | import android.content.Context;
4 | import android.support.annotation.NonNull;
5 | import java.io.File;
6 | import cn.yan.base.crash.core.CrashDump;
7 | import cn.yan.base.crash.core.DebugLog;
8 |
9 | public class NativeCrash {
10 | private static volatile boolean isInited = false;
11 |
12 | public static synchronized void init(@NonNull Context context) {
13 | if (isInited) {
14 | DebugLog.w("Native Crash has already init.");
15 | return;
16 | }
17 |
18 | File dumpDir = CrashDump.getAssignedDir(context, CrashDump.DIR_NATIVE);
19 | if (dumpDir != null) {
20 | NativeHandler.init(dumpDir.getAbsolutePath());
21 | isInited = true;
22 | } else {
23 | DebugLog.w("Native Crash dump assigned directory is null.");
24 | }
25 | }
26 |
27 | public static void crash() {
28 | NativeHandler.crash();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/java/cn/yan/crash/core/NativeHandler.java:
--------------------------------------------------------------------------------
1 | package cn.yan.crash.core;
2 |
3 | final class NativeHandler {
4 | static {
5 | System.loadLibrary("native-crash");
6 | }
7 |
8 | public static native void init(String path);
9 |
10 | public static native void crash();
11 | }
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/Android.mk:
--------------------------------------------------------------------------------
1 | ROOT_PATH := $(call my-dir)
2 | include $(ROOT_PATH)/third-breakpad/android/google_breakpad/Android.mk
3 | LOCAL_PATH := $(ROOT_PATH)
4 | include $(CLEAR_VARS)
5 | LOCAL_MODULE := native-crash
6 | LOCAL_SRC_FILES := NativeHandler.cpp
7 | LOCAL_STATIC_LIBRARIES += breakpad_client
8 |
9 | include $(BUILD_SHARED_LIBRARY)
10 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | APP_STL := stlport_static
2 | APP_ABI := all
3 | APP_CXXFLAGS := -std=c++11 -D__STDC_LIMIT_MACROS
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/NativeHandler.cpp:
--------------------------------------------------------------------------------
1 | #include "cn_yan_crash_core_NativeHandler.h"
2 | #include "logcat.h"
3 | #include "client/linux/handler/exception_handler.h"
4 | #include "client/linux/handler/minidump_descriptor.h"
5 |
6 | namespace {
7 | bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor,
8 | void* context,
9 | bool succeeded) {
10 | LOGD("Dump path: %s.\n", descriptor.path());
11 | return succeeded;
12 | }
13 | }
14 |
15 | JNIEXPORT void JNICALL Java_cn_yan_crash_core_NativeHandler_init
16 | (JNIEnv* jniEnv, jobject obj, jstring path) {
17 | const char* filePath = jniEnv->GetStringUTFChars(path, JNI_FALSE);
18 | LOGD("Init file path is:%s.\n", filePath);
19 | google_breakpad::MinidumpDescriptor descriptor(filePath);
20 | google_breakpad::ExceptionHandler eh(descriptor, NULL, DumpCallback,
21 | NULL, true, -1);
22 | jniEnv->ReleaseStringUTFChars(path, filePath);
23 | LOGD("Init done.\n");
24 | }
25 |
26 | JNIEXPORT void JNICALL Java_cn_yan_crash_core_NativeHandler_crash
27 | (JNIEnv* jniEnv, jobject obj) {
28 | LOGD("Start crash....\n");
29 | volatile int* a = reinterpret_cast(NULL);
30 | *a = 1;
31 | LOGD("Crashed....\n");
32 | }
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/cn_yan_crash_core_NativeHandler.h:
--------------------------------------------------------------------------------
1 | /* DO NOT EDIT THIS FILE - it is machine generated */
2 | #include
3 | /* Header for class cn_yan_crash_core_NativeHandler */
4 |
5 | #ifndef _Included_cn_yan_crash_core_NativeHandler
6 | #define _Included_cn_yan_crash_core_NativeHandler
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | JNIEXPORT void JNICALL Java_cn_yan_crash_core_NativeHandler_init
12 | (JNIEnv *, jobject, jstring);
13 |
14 | JNIEXPORT void JNICALL Java_cn_yan_crash_core_NativeHandler_crash
15 | (JNIEnv*, jobject);
16 |
17 | #ifdef __cplusplus
18 | }
19 | #endif
20 | #endif
21 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/logcat.h:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #ifndef ANDROID_CRASH_LOGCAT_H
4 | #define ANDROID_CRASH_LOGCAT_H
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #define LOGCAT_DEBUG 1
11 | #define TAG "androidCrash"
12 |
13 | #if LOGCAT_DEBUG
14 | #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__)
15 | #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__)
16 | #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__)
17 | #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__)
18 | #define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__)
19 | #else
20 | #define LOGD(...) NULL
21 | #define LOGI(...) NULL
22 | #define LOGW(...) NULL
23 | #define LOGE(...) NULL
24 | #define LOGF(...) NULL
25 | #endif
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif
30 |
31 | #endif //ANDROID_CRASH_LOGCAT_H
32 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/.travis.yml:
--------------------------------------------------------------------------------
1 | # Travis build integration.
2 | # https://docs.travis-ci.com/
3 | language: cpp
4 |
5 | sudo: required
6 |
7 | addons:
8 | apt:
9 | sources:
10 | - ubuntu-toolchain-r-test
11 | packages:
12 | - clang
13 | - gcc-4.8
14 | - g++-4.8
15 |
16 | env:
17 | global:
18 | - secure: "FPczJ1u7FWGXOtUVf5AONeexfQDYnKRtuNs3phLwlPPAbgAlIc/WeTRSHC8DAb1T8IyPdN3Zi7cqLz0dvPol0iX1fWSfr8YdtW0ea8nUYH5ldmmp6H75FEUJUcISmYwL4WN7TldC6Hnzrlbw/0xmBH8gtAgddtBXKc9P9SwEZvM4OiFMHbMPwZEhRj+D95rfH12lgh3D16nbXGnx3rSNbHszvIxrU2VvlLo9Aa+hbmVj5CsBiNJjhDS64ie+VMTkuzcWNqLRYaGOCQ8ftKAlj/fjGfoKjPDN9dSJg9gW1FjOMPeQo93qhSc/hCmTq7sWxBJu48telinUgESdE5q/8gRf5J05ImWPntZAkC/wQkA20K7Kp/fH1CRaYXQMWKjts8c6dQZ5R4WxE4WXUo5rz573Ti9uyVTLys9whnzaib3YbqYv04irkhpgzo3rd8PF8SXpgK99ySQCcv/Dh7UQuXPpcaknOk2mBySXjQDgpQHHXDN2uUek1HEo5xit8fQuQw3TdPIZ9ZgzQ/c5/Dx6sLWAGEfVH9MN+hy6AiZnJ1JI+XF82kAf1pnf8WddHtlE7pAdWRFQt0iOj9T9esV1/o0VCJVzJLRdpKecF0sTpJxDuan6cFI0tNCkNjHFA5wJKYAvdOPAmYkqre7aIIqSOKy3Fjh9JP9CBJFy7eals9U="
19 |
20 | # TODO: Add an OS X config.
21 | matrix:
22 | include:
23 | - os: linux
24 | compiler: gcc
25 | env: USE_CC=gcc-4.8 USE_CXX=g++-4.8 COVERITY_SCAN=true
26 | - os: linux
27 | compiler: clang
28 |
29 | before_install: ./scripts/travis-checkout.sh
30 | script: ./scripts/travis-build.sh
31 |
32 | notifications:
33 | email:
34 | - google-breakpad-dev@googlegroups.com
35 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/AUTHORS:
--------------------------------------------------------------------------------
1 | opensource@google.com
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/ChangeLog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/ChangeLog
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/NEWS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/NEWS
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/android/sample_app/README:
--------------------------------------------------------------------------------
1 | This is a sample Android executable that can be used to test the
2 | Google Breakpad client library on Android.
3 |
4 | Its purpose is simply to crash and generate a minidump under /data/local/tmp.
5 |
6 | Build instructions:
7 |
8 | cd android/sample_app
9 | $NDK/ndk-build
10 |
11 | Where $NDK points to a valid Android NDK installation.
12 |
13 | Usage instructions:
14 |
15 | After buildind the test program, send it to a device, then run it as
16 | the shell UID:
17 |
18 | adb push libs/armeabi/test_google_breakpad /data/local/tmp
19 | adb shell /data/local/tmp/test_google_breakpad
20 |
21 | This will simply crash after dumping the name of the generated minidump
22 | file.
23 |
24 | See jni/test_breakpad.cpp for details.
25 |
26 | Use 'armeabi-v7a' instead of 'armeabi' above to test the ARMv7-A version
27 | of the binary.
28 |
29 | Note:
30 | If you plan to use the library in a regular Android application, store
31 | the minidump files either to your app-specific directory, or to the SDCard
32 | (the latter requiring a specific permission).
33 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/android/sample_app/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2012, Google Inc.
2 | # All rights reserved.
3 | #
4 | # Redistribution and use in source and binary forms, with or without
5 | # modification, are permitted provided that the following conditions are
6 | # met:
7 | #
8 | # * Redistributions of source code must retain the above copyright
9 | # notice, this list of conditions and the following disclaimer.
10 | # * Redistributions in binary form must reproduce the above
11 | # copyright notice, this list of conditions and the following disclaimer
12 | # in the documentation and/or other materials provided with the
13 | # distribution.
14 | # * Neither the name of Google Inc. nor the names of its
15 | # contributors may be used to endorse or promote products derived from
16 | # this software without specific prior written permission.
17 | #
18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | APP_STL := stlport_static
31 | APP_ABI := all
32 | APP_CXXFLAGS := -std=c++11 -D__STDC_LIMIT_MACROS
33 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: '{build}'
2 |
3 | environment:
4 | GYP_MSVS_VERSION: 2013
5 |
6 | platform:
7 | - Win32
8 |
9 | configuration:
10 | - Debug
11 | - Release
12 |
13 | # Use the source dir expected by gclient.
14 | clone_folder: c:\projects\breakpad\src
15 |
16 | # Before checkout.
17 | init:
18 | - cd %APPVEYOR_BUILD_FOLDER%\..\..
19 | - appveyor DownloadFile https://storage.googleapis.com/chrome-infra/depot_tools.zip
20 | - 7z -bd x depot_tools.zip -odepot_tools
21 | - depot_tools\update_depot_tools
22 | - cd %APPVEYOR_BUILD_FOLDER%
23 |
24 | # After checkout.
25 | install:
26 | - PATH C:\projects\depot_tools;%PATH%
27 | - cd %APPVEYOR_BUILD_FOLDER%\..
28 | - gclient config https://%APPVEYOR_REPO_PROVIDER%.com/%APPVEYOR_REPO_NAME% --unmanaged --name=src
29 | - gclient sync
30 |
31 | build_script:
32 | - cd %APPVEYOR_BUILD_FOLDER%
33 | - msbuild src\client\windows\breakpad_client.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /m /verbosity:normal
34 | - msbuild src\tools\windows\tools_windows.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /m /verbosity:normal
35 |
36 | test_script:
37 | - src\client\windows\%CONFIGURATION%\client_tests.exe
38 | - src\tools\windows\%CONFIGURATION%\dump_syms_unittest.exe
39 |
40 | artifacts:
41 | - path: '**\*.exe'
42 | - path: '**\*.lib'
43 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/autotools/root-test-driver:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -E to keep the environment variables needed to run the tests.
3 | exec sudo -E "$@"
4 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/breakpad-client.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@/@PACKAGE_NAME@
5 |
6 | Name: google-breakpad-client
7 | Description: An open-source multi-platform crash reporting system
8 | Version: @PACKAGE_VERSION@
9 | Libs: -L${libdir} -lbreakpad_client @PTHREAD_LIBS@
10 | Cflags: -I${includedir} @PTHREAD_CFLAGS@
11 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/breakpad.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@/@PACKAGE_NAME@
5 |
6 | Name: google-breakpad
7 | Description: An open-source multi-platform crash reporting system
8 | Version: @PACKAGE_VERSION@
9 | Libs: -L${libdir} -lbreakpad @PTHREAD_LIBS@
10 | Cflags: -I${includedir} @PTHREAD_CFLAGS@
11 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/codereview.settings:
--------------------------------------------------------------------------------
1 | GERRIT_HOST: True
2 | GERRIT_SQUASH_UPLOADS: True
3 | CODE_REVIEW_SERVER: chromium-review.googlesource.com
4 | VIEW_VC: https://chromium.googlesource.com/breakpad/breakpad/+/
5 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
13 |
14 |
17 |
18 |
22 |
23 |
27 |
28 |
32 |
33 |
37 |
38 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/docs/OWNERS:
--------------------------------------------------------------------------------
1 | *
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/docs/breakpad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/docs/breakpad.png
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/docs/contributing_to_breakpad.md:
--------------------------------------------------------------------------------
1 | # Introduction
2 |
3 | Thanks for thinking of contributing to Breakpad! Unfortunately there are some
4 | pesky legal issues to get out of the way, but they're quick and painless.
5 |
6 | ## Legal
7 |
8 | If you're doing work individually, not as part of any employment, you'll need to
9 | sign the Individual
11 | Contributor License Agreement. This agreement can be completed
12 | electronically.
13 |
14 | If you're contributing to Breakpad as part of your employment with another
15 | organization, you'll need to sign a Corporate
17 | Contributor License Agreement. Once completed this document will need to be
18 | faxed.
19 |
20 | **_IMPORTANT_**: The authors(you!) of the contributions will maintain all
21 | copyrights; the agreements you sign will grant rights to Google to use your
22 | work.
23 |
24 | Thanks, and if you have any questions let me know and I'll loop in the legal guy
25 | here to get you an answer.
26 |
27 | ## Technical
28 |
29 | Once you have signed the agreement you can be added to our contributors list and
30 | have write access to code. For full details on getting started see our trunk
31 | `README`.
32 |
33 | ## List of people who have signed contributor agreements
34 |
35 | None so far.
36 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/m4/ax_require_defined.m4:
--------------------------------------------------------------------------------
1 | # ===========================================================================
2 | # http://www.gnu.org/software/autoconf-archive/ax_require_defined.html
3 | # ===========================================================================
4 | #
5 | # SYNOPSIS
6 | #
7 | # AX_REQUIRE_DEFINED(MACRO)
8 | #
9 | # DESCRIPTION
10 | #
11 | # AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
12 | # been defined and thus are available for use. This avoids random issues
13 | # where a macro isn't expanded. Instead the configure script emits a
14 | # non-fatal:
15 | #
16 | # ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
17 | #
18 | # It's like AC_REQUIRE except it doesn't expand the required macro.
19 | #
20 | # Here's an example:
21 | #
22 | # AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
23 | #
24 | # LICENSE
25 | #
26 | # Copyright (c) 2014 Mike Frysinger
27 | #
28 | # Copying and distribution of this file, with or without modification, are
29 | # permitted in any medium without royalty provided the copyright notice
30 | # and this notice are preserved. This file is offered as-is, without any
31 | # warranty.
32 |
33 | #serial 1
34 |
35 | AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
36 | m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
37 | ])dnl AX_REQUIRE_DEFINED
38 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/m4/ltversion.m4:
--------------------------------------------------------------------------------
1 | # ltversion.m4 -- version numbers -*- Autoconf -*-
2 | #
3 | # Copyright (C) 2004 Free Software Foundation, Inc.
4 | # Written by Scott James Remnant, 2004
5 | #
6 | # This file is free software; the Free Software Foundation gives
7 | # unlimited permission to copy and/or distribute it, with or without
8 | # modifications, as long as this notice is preserved.
9 |
10 | # Generated from ltversion.in.
11 |
12 | # serial 3017 ltversion.m4
13 | # This file is part of GNU Libtool
14 |
15 | m4_define([LT_PACKAGE_VERSION], [2.2.6b])
16 | m4_define([LT_PACKAGE_REVISION], [1.3017])
17 |
18 | AC_DEFUN([LTVERSION_VERSION],
19 | [macro_version='2.2.6b'
20 | macro_revision='1.3017'
21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22 | _LT_DECL(, macro_revision, 0)
23 | ])
24 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/scripts/travis-checkout.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -ex
3 |
4 | get_depot_tools() {
5 | cd
6 | git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
7 | PATH="$HOME/depot_tools:$PATH"
8 | }
9 |
10 | gclient_sync() {
11 | # Rename the source dir to match what gclient expects.
12 | srcdir=$(basename "$TRAVIS_BUILD_DIR")
13 | cd "${TRAVIS_BUILD_DIR}"/..
14 | mv "${srcdir}" src
15 | gclient config --unmanaged https://github.com/google/breakpad.git
16 | gclient sync
17 | }
18 |
19 | main() {
20 | get_depot_tools
21 | gclient_sync
22 | }
23 |
24 | main "$@"
25 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/ios/Breakpad_Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'CocoaTouchStaticLibrary' target in the 'CocoaTouchStaticLibrary' project.
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/Framework/Breakpad_Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'Breakpad' target in the
3 | // 'Breakpad' project.
4 | //
5 |
6 | #ifdef __OBJC__
7 | #import
8 | #endif
9 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/Framework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleName
10 | ${PRODUCT_NAME}
11 | CFBundleIconFile
12 |
13 | CFBundleIdentifier
14 | com.googlecode.google-breakpad
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/UnitTests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.yourcompany.${PRODUCT_NAME:identifier}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 |
20 |
21 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/crash_generation/client_info.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef CLIENT_MAC_CRASH_GENERATION_CLIENT_INFO_H_
31 | #define CLIENT_MAC_CRASH_GENERATION_CLIENT_INFO_H_
32 |
33 | namespace google_breakpad {
34 |
35 | class ClientInfo {
36 | public:
37 | explicit ClientInfo(pid_t pid) : pid_(pid) {}
38 |
39 | pid_t pid() const { return pid_; }
40 |
41 | private:
42 | pid_t pid_;
43 | };
44 |
45 | } // namespace google_breakpad
46 |
47 | #endif // CLIENT_MAC_CRASH_GENERATION_CLIENT_INFO_H_
48 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/minidump_tests32-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.google.breakpad.minidump_tests32
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 |
20 |
21 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/minidump_tests64-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.google.breakpad.minidump_tests64
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 | CSResourcesFileMapped
20 | yes
21 |
22 |
23 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/obj-cTestCases-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.yourcompany.${PRODUCT_NAME:identifier}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 |
20 |
21 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/testcases/dwarftests.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008, Google Inc.
2 | // All rights reserved
3 | // Redistribution and use in source and binary forms, with or without
4 | // modification, are permitted provided that the following conditions are
5 | // met:
6 | //
7 | // * Redistributions of source code must retain the above copyright
8 | // notice, this list of conditions and the following disclaimer.
9 | // * Redistributions in binary form must reproduce the above
10 | // copyright notice, this list of conditions and the following disclaimer
11 | // in the documentation and/or other materials provided with the
12 | // distribution.
13 | // * Neither the name of Google Inc. nor the names of its
14 | // contributors may be used to endorse or promote products derived from
15 | // this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | //
30 | // dwarftests.h
31 | // minidump_test
32 | //
33 | // Created by Neal Sidhwaney on 9/24/08.
34 | // Copyright 2008 Google Inc. All rights reserved.
35 | //
36 |
37 | #import
38 |
39 |
40 | @interface dwarftests : SenTestCase {
41 |
42 | }
43 |
44 | - (void) testDWARFSymbolFileGeneration;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_dwarf_data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_dwarf_data
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/English.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/English.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/English.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/English.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/crash_report_sender-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleDisplayName
8 | ${EXECUTABLE_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIconFile
12 | crash_report_sender
13 | CFBundleIdentifier
14 | com.Breakpad.${PRODUCT_NAME:identifier}
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | ${EXECUTABLE_NAME}
19 | CFBundlePackageType
20 | APPL
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | LSHasLocalizedDisplayName
26 |
27 | NSMainNibFile
28 | MainMenu
29 | NSPrincipalClass
30 | NSApplication
31 |
32 |
33 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/crash_report_sender.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/crash_report_sender.icns
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/da.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/da.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/da.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/da.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/de.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/de.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/de.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/de.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/es.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/es.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/es.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/es.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/fr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/fr.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/fr.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/fr.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/goArrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/goArrow.png
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/it.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/it.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/it.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/it.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/ja.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/ja.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/ja.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/ja.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/nl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/nl.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/nl.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/nl.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/no.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/no.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/no.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/no.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sl.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sl.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sl.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sv.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sv.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sv.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/sv.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/tr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/tr.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/tr.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/sender/tr.lproj/Localizable.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIconFile
10 | bomb
11 | CFBundleIdentifier
12 | com.Google.BreakpadTest
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | NSMainNibFile
24 | MainMenu
25 | NSPrincipalClass
26 | NSApplication
27 | BreakpadProductDisplay
28 | Breakpad Tester
29 | BreakpadProduct
30 | Breakpad_Tester
31 | BreakpadVersion
32 | 1.2.3.4
33 | BreakpadReportInterval
34 | 10
35 | BreakpadSkipConfirm
36 | NO
37 | BreakpadSendAndExit
38 | YES
39 | BreakpadRequestEmail
40 | YES
41 | BreakpadRequestComments
42 | YES
43 | BreakpadVendor
44 | Foo Bar Corp, Incorporated, LTD, LLC
45 | BreakpadServerParameters
46 |
47 | Param1
48 | Value1
49 | Param2
50 | Value2
51 |
52 | LSUIElement
53 | 1
54 |
55 |
56 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/TestClass.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #import
31 |
32 | @interface TestClass : NSObject {
33 | }
34 |
35 | - (void)wait;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/bomb.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/bomb.icns
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/crashInMain:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/crashInMain
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/crashduringload:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/crashduringload
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/testapp/main.m:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #import
31 |
32 | int main(int argc, char *argv[]) {
33 | return NSApplicationMain(argc, (const char **) argv);
34 | }
35 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/mac/tests/testlogging.h:
--------------------------------------------------------------------------------
1 | // This file exists to override the processor logging for unit tests,
2 | // since it confuses XCode into thinking unit tests have failed.
3 | #include
4 |
5 | namespace google_breakpad {
6 | extern std::ostringstream info_log;
7 | }
8 |
9 | #define BPLOG_INFO_STREAM google_breakpad::info_log
10 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/windows/handler/exception_handler.gyp:
--------------------------------------------------------------------------------
1 | # Copyright 2010 Google Inc. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | {
30 | 'includes': [
31 | '../../../build/common.gypi',
32 | ],
33 | 'targets': [
34 | {
35 | 'target_name': 'exception_handler',
36 | 'type': 'static_library',
37 | 'sources': [
38 | "exception_handler.cc",
39 | "exception_handler.h",
40 | ],
41 | 'dependencies': [
42 | '../breakpad_client.gyp:common',
43 | '../crash_generation/crash_generation.gyp:crash_generation_server',
44 | ]
45 | },
46 | ],
47 | }
48 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/windows/sender/crash_report_sender.gyp:
--------------------------------------------------------------------------------
1 | # Copyright 2010 Google Inc. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | {
30 | 'includes': [
31 | '../../../build/common.gypi',
32 | ],
33 | 'targets': [
34 | {
35 | 'target_name': 'crash_report_sender',
36 | 'type': 'static_library',
37 | 'sources': [
38 | 'crash_report_sender.cc',
39 | 'crash_report_sender.h',
40 | ],
41 | 'dependencies': [
42 | '../breakpad_client.gyp:common'
43 | ],
44 | },
45 | ],
46 | }
47 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__
31 | #define CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__
32 |
33 | #include "resource.h"
34 |
35 | #endif // CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__
36 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.ico
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/client/windows/tests/crash_generation_app/small.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/client/windows/tests/crash_generation_app/small.ico
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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.
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/android/include/sys/signal.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
31 | #define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
32 |
33 | #include
34 |
35 | #endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
36 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/linux/elf_gnu_compat.h:
--------------------------------------------------------------------------------
1 | // -*- mode: C++ -*-
2 |
3 | // Copyright (c) 2013, Google Inc.
4 | // All rights reserved.
5 | //
6 | // Redistribution and use in source and binary forms, with or without
7 | // modification, are permitted provided that the following conditions are
8 | // met:
9 | //
10 | // * Redistributions of source code must retain the above copyright
11 | // notice, this list of conditions and the following disclaimer.
12 | // * Redistributions in binary form must reproduce the above
13 | // copyright notice, this list of conditions and the following disclaimer
14 | // in the documentation and/or other materials provided with the
15 | // distribution.
16 | // * Neither the name of Google Inc. nor the names of its
17 | // contributors may be used to endorse or promote products derived from
18 | // this software without specific prior written permission.
19 | //
20 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | // Original author: Lei Zhang
33 |
34 | // elf_gnu_compat.h: #defines unique to glibc's elf.h.
35 |
36 | #ifndef COMMON_LINUX_ELF_GNU_COMPAT_H_
37 | #define COMMON_LINUX_ELF_GNU_COMPAT_H_
38 |
39 | #include
40 |
41 | // A note type on GNU systems corresponding to the .note.gnu.build-id section.
42 | #ifndef NT_GNU_BUILD_ID
43 | #define NT_GNU_BUILD_ID 3
44 | #endif
45 |
46 | #endif // COMMON_LINUX_ELF_GNU_COMPAT_H_
47 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/linux/ignore_ret.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef COMMON_LINUX_IGNORE_RET_H_
31 | #define COMMON_LINUX_IGNORE_RET_H_
32 |
33 | // Some compilers are prone to warn about unused return values. In cases where
34 | // either a) the call cannot fail, or b) there is nothing that can be done when
35 | // the call fails, IGNORE_RET() can be used to mark the return code as ignored.
36 | // This avoids spurious compiler warnings.
37 |
38 | #define IGNORE_RET(x) do { if (x) {} } while (0)
39 |
40 | #endif // COMMON_LINUX_IGNORE_RET_H_
41 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/mac/BreakpadDebug.xcconfig:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #include "Breakpad.xcconfig"
31 |
32 | GCC_OPTIMIZATION_LEVEL = 0
33 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/mac/BreakpadRelease.xcconfig:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #include "Breakpad.xcconfig"
31 |
32 | GCC_OPTIMIZATION_LEVEL = s
33 | GCC_WARN_UNINITIALIZED_AUTOS = YES
34 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) NDEBUG
35 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/mac/bootstrap_compat.cc:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #include "common/mac/bootstrap_compat.h"
31 |
32 | namespace breakpad {
33 |
34 | #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
35 | kern_return_t BootstrapRegister(mach_port_t bp,
36 | name_t service_name,
37 | mach_port_t sp) {
38 | return bootstrap_register(bp, service_name, sp);
39 | }
40 | #pragma GCC diagnostic warning "-Wdeprecated-declarations"
41 |
42 | } // namesapce breakpad
43 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/path_helper.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef GOOGLE_BREAKPAD_COMMON_PATH_HELPER_H
31 | #define GOOGLE_BREAKPAD_COMMON_PATH_HELPER_H
32 |
33 | #include
34 |
35 | #include "common/using_std_string.h"
36 |
37 | namespace google_breakpad {
38 |
39 | string BaseName(const string& path);
40 | string DirName(const string& path);
41 |
42 | } // namespace google_breakpad
43 |
44 | #endif // GOOGLE_BREAKPAD_COMMON_PATH_HELPER_H
45 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/stdio_wrapper.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2016, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef GOOGLE_BREAKPAD_COMMON_STDIO_WRAPPER_H
31 | #define GOOGLE_BREAKPAD_COMMON_STDIO_WRAPPER_H
32 |
33 | #include
34 |
35 | #if defined(_MSC_VER) && MSC_VER < 1900
36 | #include
37 |
38 | #define snprintf _snprintf
39 | typedef SSIZE_T ssize_t;
40 | #endif
41 |
42 |
43 | #endif // GOOGLE_BREAKPAD_COMMON_STDIO_WRAPPER_H
44 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/common/symbol_data.h:
--------------------------------------------------------------------------------
1 | // -*- mode: c++ -*-
2 |
3 | // Copyright (c) 2013 Google Inc.
4 | // All rights reserved.
5 | //
6 | // Redistribution and use in source and binary forms, with or without
7 | // modification, are permitted provided that the following conditions are
8 | // met:
9 | //
10 | // * Redistributions of source code must retain the above copyright
11 | // notice, this list of conditions and the following disclaimer.
12 | // * Redistributions in binary form must reproduce the above
13 | // copyright notice, this list of conditions and the following disclaimer
14 | // in the documentation and/or other materials provided with the
15 | // distribution.
16 | // * Neither the name of Google Inc. nor the names of its
17 | // contributors may be used to endorse or promote products derived from
18 | // this software without specific prior written permission.
19 | //
20 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | #ifndef COMMON_SYMBOL_DATA_H_
33 | #define COMMON_SYMBOL_DATA_H_
34 |
35 | // Control what data is used from the symbol file.
36 | enum SymbolData {
37 | ALL_SYMBOL_DATA,
38 | NO_CFI,
39 | ONLY_CFI
40 | };
41 |
42 | #endif // COMMON_SYMBOL_DATA_H_
43 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/google_breakpad/processor/proc_maps_linux.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | #ifndef BASE_DEBUG_PROC_MAPS_LINUX_H_
6 | #define BASE_DEBUG_PROC_MAPS_LINUX_H_
7 |
8 | #include
9 | #include
10 |
11 | #include "common/using_std_string.h"
12 | #include "google_breakpad/common/breakpad_types.h"
13 |
14 | namespace google_breakpad {
15 |
16 | // Describes a region of mapped memory and the path of the file mapped.
17 | struct MappedMemoryRegion {
18 | enum Permission {
19 | READ = 1 << 0,
20 | WRITE = 1 << 1,
21 | EXECUTE = 1 << 2,
22 | PRIVATE = 1 << 3, // If set, region is private, otherwise it is shared.
23 | };
24 |
25 | // The address range [start,end) of mapped memory.
26 | uint64_t start;
27 | uint64_t end;
28 |
29 | // Byte offset into |path| of the range mapped into memory.
30 | uint64_t offset;
31 |
32 | // Bitmask of read/write/execute/private/shared permissions.
33 | uint8_t permissions;
34 |
35 | // Major and minor devices.
36 | uint8_t major_device;
37 | uint8_t minor_device;
38 |
39 | // Value of the inode.
40 | uint64_t inode;
41 |
42 | // Name of the file mapped into memory.
43 | //
44 | // NOTE: path names aren't guaranteed to point at valid files. For example,
45 | // "[heap]" and "[stack]" are used to represent the location of the process'
46 | // heap and stack, respectively.
47 | string path;
48 |
49 | // The line from /proc//maps that this struct represents.
50 | string line;
51 | };
52 |
53 | // Parses /proc//maps input data and stores in |regions|. Returns true
54 | // and updates |regions| if and only if all of |input| was successfully parsed.
55 | bool ParseProcMaps(const string& input,
56 | std::vector* regions);
57 |
58 | } // namespace google_breakpad
59 |
60 | #endif // BASE_DEBUG_PROC_MAPS_LINUX_H_
61 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/convert_old_arm64_context.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2018, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #ifndef PROCESSOR_CONVERT_OLD_ARM64_CONTEXT_H__
31 | #define PROCESSOR_CONVERT_OLD_ARM64_CONTEXT_H__
32 |
33 | #include "google_breakpad/common/minidump_cpu_arm64.h"
34 |
35 | namespace google_breakpad {
36 |
37 | void ConvertOldARM64Context(const MDRawContextARM64_Old& old,
38 | MDRawContextARM64* context);
39 |
40 | } // namespace google_breakpad
41 |
42 | #endif // PROCESSOR_CONVERT_OLD_ARM64_CONTEXT_H__
43 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/dump_object.cc:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // dump_object.cc: A base class for all mini/micro dump object.
31 |
32 | #include "google_breakpad/processor/dump_object.h"
33 |
34 | namespace google_breakpad {
35 |
36 | DumpObject::DumpObject() : valid_(false) {
37 | }
38 |
39 | } // namespace google_breakpad
40 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/microdump_stackwalk_test_vars:
--------------------------------------------------------------------------------
1 | MICRODUMP_SUPPORTED_ARCHS="arm arm64"
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/minidump_dump_test:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Copyright (c) 2006, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | testdata_dir=$srcdir/src/processor/testdata
33 | ./src/processor/minidump_dump $testdata_dir/minidump2.dmp | \
34 | tr -d '\015' | \
35 | diff -u $testdata_dir/minidump2.dump.out -
36 | exit $?
37 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/minidump_stackwalk_machine_readable_test:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Copyright (c) 2007, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | testdata_dir=$srcdir/src/processor/testdata
33 | ./src/processor/minidump_stackwalk -m $testdata_dir/minidump2.dmp \
34 | $testdata_dir/symbols | \
35 | tr -d '\015' | \
36 | diff -u $testdata_dir/minidump2.stackwalk.machine_readable.out -
37 | exit $?
38 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/minidump_stackwalk_test:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Copyright (c) 2006, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | testdata_dir=$srcdir/src/processor/testdata
33 | ./src/processor/minidump_stackwalk $testdata_dir/minidump2.dmp \
34 | $testdata_dir/symbols | \
35 | tr -d '\015' | \
36 | diff -u $testdata_dir/minidump2.stackwalk.out -
37 | exit $?
38 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_block_write.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_block_write.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_clobber_write.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_clobber_write.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_conditional.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_conditional.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_then_jmp.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_then_jmp.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_xchg_write.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_read_av_xchg_write.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_write_av.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_write_av.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_write_av_arg_to_call.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/ascii_write_av_arg_to_call.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/exec_av_on_stack.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/exec_av_on_stack.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_divide_by_zero.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_divide_by_zero.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_executable_heap.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_executable_heap.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_executable_stack.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_executable_stack.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_inside_module_exe_region1.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_inside_module_exe_region1.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_inside_module_exe_region2.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_inside_module_exe_region2.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_jmp_to_0.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_jmp_to_0.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_jmp_to_module_not_exe_region.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_jmp_to_module_not_exe_region.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_null_dereference.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_null_dereference.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_null_read_av.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_null_read_av.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_outside_module.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_outside_module.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_overflow.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_overflow.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_raise_sigabrt.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_raise_sigabrt.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_module.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_module.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_stack.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_stack.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_stack_alt_name.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stack_pointer_in_stack_alt_name.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stacksmash.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_stacksmash.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_nonwritable_module.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_nonwritable_module.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_nonwritable_region_math.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_nonwritable_region_math.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_outside_module.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_outside_module.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_outside_module_via_math.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_outside_module_via_math.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_under_4k.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/linux_write_to_under_4k.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/microdump.stackwalk.machine_readable-arm.out:
--------------------------------------------------------------------------------
1 | OS|Android|OS VERSION INFO
2 | CPU|arm||2
3 | GPU|OpenGL ES 3.0 V@104.0 AU@ (GIT@Id3510ff6dc)|Qualcomm|Adreno (TM) 330
4 | Crash||0x0|0
5 | Module|breakpad_unittests||breakpad_unittests|DA7778FB66018A4E9B4110ED06E730D00|0xaaacd000|0xaab48fff|0
6 | Module|libnetd_client.so||libnetd_client.so|56B149396A4DAF176E26B4A85DA87BF30|0xf6fca000|0xf6fcdfff|0
7 | Module|libstdc++.so||libstdc++.so|DFCD7772F3A5BD1E84A50C4DBFDE6F570|0xf6fee000|0xf6ff1fff|0
8 | Module|libm.so||libm.so|AE3467401278371A956801500FC8187D0|0xf6ff2000|0xf700afff|0
9 | Module|liblog.so||liblog.so|0A492DEF82842051996A468D87F23F010|0xf700c000|0xf7012fff|0
10 | Module|libc.so||libc.so|167F187B09A27F7444EF989603AAFD3D0|0xf7014000|0xf706dfff|0
11 |
12 | 0|0|breakpad_unittests|MicrodumpWriterTest_Setup_Test::TestBody|/s/clank/src/out_arm/Release/../../testing/gtest/include/gtest/gtest.h|1481|0x1
13 | 0|1|breakpad_unittests|testing::Test::Run|/s/clank/src/out_arm/Release/../../testing/gtest/src/gtest.cc|2435|0x17
14 | 0|2|breakpad_unittests|testing::TestInfo::Run|/s/clank/src/out_arm/Release/../../testing/gtest/src/gtest.cc|2610|0x5
15 | 0|3|breakpad_unittests|testing::TestCase::Run|/s/clank/src/out_arm/Release/../../testing/gtest/src/gtest.cc|2728|0x3
16 | 0|4|breakpad_unittests|testing::internal::UnitTestImpl::RunAllTests|/s/clank/src/out_arm/Release/../../testing/gtest/src/gtest.cc|4591|0x3
17 | 0|5|breakpad_unittests|testing::UnitTest::Run|/s/clank/src/out_arm/Release/../../testing/gtest/src/gtest.cc|2418|0x5
18 | 0|6|breakpad_unittests|main|/s/clank/src/out_arm/Release/../../testing/gtest/include/gtest/gtest.h|2326|0x3
19 | 0|7|libc.so||||0x11e9d
20 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/microdump.stackwalk.machine_readable-arm64.out:
--------------------------------------------------------------------------------
1 | OS|Android|OS 64 VERSION INFO
2 | CPU|arm64||2
3 | GPU|||
4 | Crash||0x0|0
5 | Module|breakpad_unittests||breakpad_unittests|D6D1FEC9A15DE7F38A236898871A2E770|0x555f608000|0x555f6c7fff|0
6 | Module|libnetd_client.so||libnetd_client.so|7735F44BA6D7C27FD5C3636A43369B7C0|0x7f801f6000|0x7f80208fff|0
7 | Module|libstdc++.so||libstdc++.so|380C0B7CD8FA3F094BC3BA58A81CBAD00|0x7f80229000|0x7f8023cfff|0
8 | Module|libm.so||libm.so|F832D47D1E237E46D835991594DA6E890|0x7f8023d000|0x7f80279fff|0
9 | Module|liblog.so||liblog.so|C407B93F87A835BE05451FC7B0B3E65E0|0x7f8027b000|0x7f80293fff|0
10 | Module|libc.so||libc.so|479D5438753E27F019F2C9980DDBF4F30|0x7f80295000|0x7f80332fff|0
11 | Module|libsigchain.so||libsigchain.so|9DA3FF8EF9CA0FDC481292EE530DF6EC0|0x7f80341000|0x7f80353fff|0
12 | Module|linux-gate.so||linux-gate.so|672B2CD6CF8AF6C43BD70F2AB02B3D0C0|0x7f80358000|0x7f80359fff|0
13 |
14 | 0|0|breakpad_unittests|MicrodumpWriterTest_Setup_Test::TestBody|/s/clank/src/out/Release/../../breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc|77|0xc
15 | 0|1|breakpad_unittests|testing::internal::HandleExceptionsInMethodIfSupported|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|2418|0x4
16 | 0|2|breakpad_unittests|testing::Test::Run|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|2435|0x14
17 | 0|3|breakpad_unittests|testing::TestInfo::Run|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|2610|0x4
18 | 0|4|breakpad_unittests|testing::TestCase::Run|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|2728|0x0
19 | 0|5|breakpad_unittests|testing::internal::UnitTestImpl::RunAllTests|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|4591|0x0
20 | 0|6|breakpad_unittests|testing::UnitTest::Run|/s/clank/src/out/Release/../../testing/gtest/src/gtest.cc|2418|0x4
21 | 0|7|breakpad_unittests|main|/s/clank/src/out/Release/../../testing/gtest/include/gtest/gtest.h|2326|0x0
22 | 0|8|libc.so||||0x17388
23 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/minidump2.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/minidump2.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/minidump2.stackwalk.machine_readable.out:
--------------------------------------------------------------------------------
1 | OS|Windows NT|5.1.2600 Service Pack 2
2 | CPU|x86|GenuineIntel family 6 model 13 stepping 8|1
3 | GPU|||
4 | Crash|EXCEPTION_ACCESS_VIOLATION_WRITE|0x45|0
5 | Module|test_app.exe||test_app.pdb|5A9832E5287241C1838ED98914E9B7FF1|0x00400000|0x0042cfff|1
6 | Module|dbghelp.dll|5.1.2600.2180|dbghelp.pdb|39559573E21B46F28E286923BE9E6A761|0x59a60000|0x59b00fff|0
7 | Module|imm32.dll|5.1.2600.2180|imm32.pdb|2C17A49C251B4C8EB9E2AD13D7D9EA162|0x76390000|0x763acfff|0
8 | Module|psapi.dll|5.1.2600.2180|psapi.pdb|A5C3A1F9689F43D8AD228A09293889702|0x76bf0000|0x76bfafff|0
9 | Module|ole32.dll|5.1.2600.2726|ole32.pdb|683B65B246F4418796D2EE6D4C55EB112|0x774e0000|0x7761cfff|0
10 | Module|version.dll|5.1.2600.2180|version.pdb|180A90C40384463E82DDC45B2C8AB76E2|0x77c00000|0x77c07fff|0
11 | Module|msvcrt.dll|7.0.2600.2180|msvcrt.pdb|A678F3C30DED426B839032B996987E381|0x77c10000|0x77c67fff|0
12 | Module|user32.dll|5.1.2600.2622|user32.pdb|EE2B714D83A34C9D88027621272F83262|0x77d40000|0x77dcffff|0
13 | Module|advapi32.dll|5.1.2600.2180|advapi32.pdb|455D6C5F184D45BBB5C5F30F829751142|0x77dd0000|0x77e6afff|0
14 | Module|rpcrt4.dll|5.1.2600.2180|rpcrt4.pdb|BEA45A721DA141DAA3BA86B3A20311532|0x77e70000|0x77f00fff|0
15 | Module|gdi32.dll|5.1.2600.2818|gdi32.pdb|C0EA66BE00A64BD7AEF79E443A91869C2|0x77f10000|0x77f56fff|0
16 | Module|kernel32.dll|5.1.2600.2945|kernel32.pdb|BCE8785C57B44245A669896B6A19B9542|0x7c800000|0x7c8f3fff|0
17 | Module|ntdll.dll|5.1.2600.2180|ntdll.pdb|36515FB5D04345E491F672FA2E2878C02|0x7c900000|0x7c9affff|0
18 |
19 | 0|0|test_app.exe|`anonymous namespace'::CrashFunction|c:\test_app.cc|58|0x3
20 | 0|1|test_app.exe|main|c:\test_app.cc|65|0x5
21 | 0|2|test_app.exe|__tmainCRTStartup|f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c|327|0x12
22 | 0|3|kernel32.dll|BaseProcessStart|||0x23
23 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/minidump2.stackwalk.out:
--------------------------------------------------------------------------------
1 | Operating system: Windows NT
2 | 5.1.2600 Service Pack 2
3 | CPU: x86
4 | GenuineIntel family 6 model 13 stepping 8
5 | 1 CPU
6 |
7 | GPU: UNKNOWN
8 |
9 | Crash reason: EXCEPTION_ACCESS_VIOLATION_WRITE
10 | Crash address: 0x45
11 | Process uptime: 0 seconds
12 |
13 | Thread 0 (crashed)
14 | 0 test_app.exe!`anonymous namespace'::CrashFunction [test_app.cc : 58 + 0x3]
15 | eip = 0x0040429e esp = 0x0012fe84 ebp = 0x0012fe88 ebx = 0x7c80abc1
16 | esi = 0x00000002 edi = 0x00000a28 eax = 0x00000045 ecx = 0x0012fe94
17 | edx = 0x0042bc58 efl = 0x00010246
18 | Found by: given as instruction pointer in context
19 | 1 test_app.exe!main [test_app.cc : 65 + 0x5]
20 | eip = 0x00404200 esp = 0x0012fe90 ebp = 0x0012ff70
21 | Found by: call frame info
22 | 2 test_app.exe!__tmainCRTStartup [crt0.c : 327 + 0x12]
23 | eip = 0x004053ec esp = 0x0012ff78 ebp = 0x0012ffc0
24 | Found by: call frame info
25 | 3 kernel32.dll!BaseProcessStart + 0x23
26 | eip = 0x7c816fd7 esp = 0x0012ffc8 ebp = 0x0012fff0
27 | Found by: call frame info
28 |
29 | Loaded modules:
30 | 0x00400000 - 0x0042cfff test_app.exe ??? (main)
31 | 0x59a60000 - 0x59b00fff dbghelp.dll 5.1.2600.2180
32 | 0x76390000 - 0x763acfff imm32.dll 5.1.2600.2180
33 | 0x76bf0000 - 0x76bfafff psapi.dll 5.1.2600.2180
34 | 0x774e0000 - 0x7761cfff ole32.dll 5.1.2600.2726
35 | 0x77c00000 - 0x77c07fff version.dll 5.1.2600.2180
36 | 0x77c10000 - 0x77c67fff msvcrt.dll 7.0.2600.2180
37 | 0x77d40000 - 0x77dcffff user32.dll 5.1.2600.2622
38 | 0x77dd0000 - 0x77e6afff advapi32.dll 5.1.2600.2180
39 | 0x77e70000 - 0x77f00fff rpcrt4.dll 5.1.2600.2180
40 | 0x77f10000 - 0x77f56fff gdi32.dll 5.1.2600.2818
41 | 0x7c800000 - 0x7c8f3fff kernel32.dll 5.1.2600.2945
42 | 0x7c900000 - 0x7c9affff ntdll.dll 5.1.2600.2180
43 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/module1.out:
--------------------------------------------------------------------------------
1 | MODULE windows x86 111111111111111111111111111111111 module1.pdb
2 | INFO CODE_ID FFFFFFFF module1.exe
3 | FILE 1 file1_1.cc
4 | FILE 2 file1_2.cc
5 | FILE 3 file1_3.cc
6 | FUNC 1000 c 0 Function1_1
7 | 1000 4 44 1
8 | 1004 4 45 1
9 | 1008 4 46 1
10 | FUNC 1100 8 4 Function1_2
11 | 1100 4 65 2
12 | 1104 4 66 2
13 | FUNC 1200 100 8 Function1_3
14 | FUNC 1300 100 c Function1_4
15 | FUNC 2000 0 0 Test_Zero_Size_Function_Is_Ignored
16 | 2000 4 88 2
17 | PUBLIC 2800 0 PublicSymbol
18 | FUNC 3000 7000 42 LargeFunction
19 | 3000 7000 4098359 3
20 | STACK WIN 4 1000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ =
21 | STACK WIN 4 1100 8 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ =
22 | STACK WIN 4 1100 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ =
23 | STACK WIN 4 1300 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ =
24 | STACK CFI INIT 3d40 af .cfa: $esp 4 + .ra: .cfa 4 - ^
25 | STACK CFI 3d41 .cfa: $esp 8 +
26 | STACK CFI 3d43 .cfa: $ebp 8 + $ebp: .cfa 8 - ^
27 | STACK CFI 3d54 $ebx: .cfa 20 - ^
28 | STACK CFI 3d5a $esi: .cfa 16 - ^
29 | STACK CFI 3d84 $edi: .cfa 12 - ^
30 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/module3_bad.out:
--------------------------------------------------------------------------------
1 | MODULE windows x86 333333333333333333333333333333333 module3.pdb
2 | FILE 1 file1.cc
3 | FUNC 1000
4 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/null_read_av.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/null_read_av.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/null_write_av.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/null_write_av.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_clobber_write.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_clobber_write.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_conditional.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_conditional.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_non_null.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/read_av_non_null.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/stack_exhaustion.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/stack_exhaustion.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/symbols/microdump/crash_example/6E72E2F1A5F59AB3D51356FDFE394D490/crash_example.sym:
--------------------------------------------------------------------------------
1 | MODULE Linux mips 6E72E2F1A5F59AB3D51356FDFE394D490 crash_example
2 | FILE 0 /s/breakpad/src/tools/linux/crash_example.cc
3 | FUNC 80a8 9c 0 google_breakpad::MinidumpDescriptor::MinidumpDescriptor
4 | 80a8 20 75 8
5 | 80c8 38 78 8
6 | 8100 10 78 8
7 | 8110 14 78 8
8 | 8124 10 78 8
9 | 8134 10 78 8
10 | FUNC 815c a0 0 DumpCallback
11 | 815c 2c 13 37
12 | 8188 1c 14 37
13 | 81a4 14 15 37
14 | 81b8 1c 15 37
15 | 81d4 14 17 37
16 | 81e8 4 18 37
17 | 81ec 10 19 37
18 | FUNC 81fc 2c 0 Leaf
19 | 81fc 10 21 37
20 | 820c 8 22 37
21 | 8214 8 23 37
22 | 821c 4 25 37
23 | 8220 8 26 37
24 | FUNC 8228 58 0 blaTest
25 | 8228 1c 28 37
26 | 8244 c 29 37
27 | 8250 20 30 37
28 | 8270 10 31 37
29 | FUNC 8280 40 0 Crash
30 | 8280 18 33 37
31 | 8298 4 34 37
32 | 829c 14 35 37
33 | 82b0 10 36 37
34 | FUNC 831c f4 0 main
35 | 831c 2c 40 37
36 | 8348 c 40 37
37 | 8354 18 41 37
38 | 836c 34 43 37
39 | 83a0 10 44 37
40 | 83b0 4 45 37
41 | 83b4 14 43 37
42 | 83c8 18 45 37
43 | 83e0 30 46 37
44 | PUBLIC 831c 0 main
45 | STACK CFI INIT 8228 58 .cfa: $sp 0 + .ra: $ra
46 | STACK CFI 822c .cfa: $sp 32 +
47 | STACK CFI 8234 $gp: .cfa -16 + ^ .ra: .cfa -8 + ^
48 | STACK CFI 827c $gp: $gp .cfa: $sp 0 + .ra: .ra
49 | STACK CFI INIT 8280 40 .cfa: $sp 0 + .ra: $ra
50 | STACK CFI 8284 .cfa: $sp 32 +
51 | STACK CFI 828c $gp: .cfa -16 + ^ .ra: .cfa -8 + ^
52 | STACK CFI 82bc $gp: $gp .cfa: $sp 0 + .ra: .ra
53 | STACK CFI INIT 831c f4 .cfa: $sp 0 + .ra: $ra
54 | STACK CFI 8320 .cfa: $sp 352 +
55 | STACK CFI 832c $gp: .cfa -16 + ^ $s0: .cfa -24 + ^ .ra: .cfa -8 + ^
56 | STACK CFI 840c $gp: $gp $s0: $s0 .cfa: $sp 0 + .ra: .ra
57 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/symbols/microdump/crash_example/8F36148CC4647A8116CAF2A25F591F570/crash_example.sym:
--------------------------------------------------------------------------------
1 | MODULE Linux mips 8F36148CC4647A8116CAF2A25F591F570 crash_example
2 | FILE 0 /home/rtrk/chromium_mips/chromium/src/out-android-mips/Debug/../../breakpad/src/tools/linux/crash_example.cc
3 | FUNC 2ea4 b4 0 google_breakpad::MinidumpDescriptor::MinidumpDescriptor
4 | 2ea4 20 75 6
5 | 2ec4 40 78 6
6 | 2f04 18 78 6
7 | 2f1c 14 78 6
8 | 2f30 18 78 6
9 | 2f48 10 78 6
10 | FUNC 2f6c c4 0 DumpCallback
11 | 2f6c 28 13 33
12 | 2f94 28 14 33
13 | 2fbc 1c 15 33
14 | 2fd8 28 15 33
15 | 3000 1c 17 33
16 | 301c 4 18 33
17 | 3020 10 19 33
18 | FUNC 3030 28 0 Leaf
19 | 3030 4 21 33
20 | 3034 c 22 33
21 | 3040 c 23 33
22 | 304c 4 25 33
23 | 3050 8 26 33
24 | FUNC 3058 60 0 blaTest
25 | 3058 1c 28 33
26 | 3074 c 29 33
27 | 3080 28 30 33
28 | 30a8 10 31 33
29 | FUNC 30b8 48 0 Crash
30 | 30b8 18 33 33
31 | 30d0 4 34 33
32 | 30d4 1c 35 33
33 | 30f0 10 36 33
34 | FUNC 316c 120 0 main
35 | 316c 24 40 33
36 | 3190 c 40 33
37 | 319c 20 41 33
38 | 31bc 40 43 33
39 | 31fc 18 44 33
40 | 3214 4 45 33
41 | 3218 1c 43 33
42 | 3234 20 45 33
43 | 3254 38 46 33
44 | PUBLIC 316c 0 main
45 | STACK CFI INIT 30b8 48 .cfa: $sp 39792944 + .ra: $ra
46 | STACK CFI 30c8 .cfa: $sp 40 +
47 | STACK CFI 30d0 .ra: .cfa -4 + ^
48 | STACK CFI 30f8 .cfa: $sp 0 + .ra: .ra
49 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/write_av_non_null.dmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/processor/testdata/write_av_non_null.dmp
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/curl/COPYING:
--------------------------------------------------------------------------------
1 | COPYRIGHT AND PERMISSION NOTICE
2 |
3 | Copyright (c) 1996 - 2011, Daniel Stenberg, .
4 |
5 | All rights reserved.
6 |
7 | Permission to use, copy, modify, and distribute this software for any purpose
8 | with or without fee is hereby granted, provided that the above copyright
9 | notice and this permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
14 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
15 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
17 | OR OTHER DEALINGS IN THE SOFTWARE.
18 |
19 | Except as contained in this notice, the name of a copyright holder shall not
20 | be used in advertising or otherwise to promote the sale, use or other dealings
21 | in this Software without prior written authorization of the copyright holder.
22 |
23 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/curl/stdcheaders.h:
--------------------------------------------------------------------------------
1 | #ifndef __STDC_HEADERS_H
2 | #define __STDC_HEADERS_H
3 | /***************************************************************************
4 | * _ _ ____ _
5 | * Project ___| | | | _ \| |
6 | * / __| | | | |_) | |
7 | * | (__| |_| | _ <| |___
8 | * \___|\___/|_| \_\_____|
9 | *
10 | * Copyright (C) 1998 - 2009, Daniel Stenberg, , et al.
11 | *
12 | * This software is licensed as described in the file COPYING, which
13 | * you should have received as part of this distribution. The terms
14 | * are also available at http://curl.haxx.se/docs/copyright.html.
15 | *
16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17 | * copies of the Software, and permit persons to whom the Software is
18 | * furnished to do so, under the terms of the COPYING file.
19 | *
20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 | * KIND, either express or implied.
22 | *
23 | * $Id: stdcheaders.h,v 1.9 2009-05-18 12:25:45 yangtse Exp $
24 | ***************************************************************************/
25 |
26 | #include
27 |
28 | size_t fread (void *, size_t, size_t, FILE *);
29 | size_t fwrite (const void *, size_t, size_t, FILE *);
30 |
31 | int strcasecmp(const char *, const char *);
32 | int strncasecmp(const char *, const char *, size_t);
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/curl/types.h:
--------------------------------------------------------------------------------
1 | /* not used */
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/Makefile.am:
--------------------------------------------------------------------------------
1 | include_HEADERS = libdis.h
2 | lib_LTLIBRARIES = libdisasm.la
3 | libdisasm_la_SOURCES = \
4 | ia32_implicit.c \
5 | ia32_implicit.h \
6 | ia32_insn.c \
7 | ia32_insn.h \
8 | ia32_invariant.c \
9 | ia32_invariant.h \
10 | ia32_modrm.c \
11 | ia32_modrm.h \
12 | ia32_opcode_tables.c \
13 | ia32_opcode_tables.h \
14 | ia32_operand.c \
15 | ia32_operand.h \
16 | ia32_reg.c \
17 | ia32_reg.h \
18 | ia32_settings.c \
19 | ia32_settings.h \
20 | libdis.h \
21 | qword.h \
22 | x86_disasm.c \
23 | x86_format.c \
24 | x86_imm.c \
25 | x86_imm.h \
26 | x86_insn.c \
27 | x86_misc.c \
28 | x86_operand_list.c \
29 | x86_operand_list.h
30 |
31 | # Cheat to get non-autoconf swig into tarball,
32 | # even if it doesn't build by default.
33 | EXTRA_DIST = \
34 | swig/Makefile \
35 | swig/libdisasm.i \
36 | swig/libdisasm_oop.i \
37 | swig/python/Makefile-swig \
38 | swig/perl/Makefile-swig \
39 | swig/perl/Makefile.PL \
40 | swig/ruby/Makefile-swig \
41 | swig/ruby/extconf.rb \
42 | swig/tcl/Makefile-swig \
43 | swig/README
44 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/TODO:
--------------------------------------------------------------------------------
1 | x86_format.c
2 | ------------
3 | intel: jmpf -> jmp, callf -> call
4 | att: jmpf -> ljmp, callf -> lcall
5 |
6 | opcode table
7 | ------------
8 | finish typing instructions
9 | fix flag clear/set/toggle types
10 |
11 | ix64 stuff
12 | ----------
13 | document output file formats in web page
14 | features doc: register aliases, implicit operands, stack mods,
15 | ring0 flags, eflags, cpu model/isa
16 |
17 | ia32_handle_* implementation
18 |
19 | fix operand 0F C2
20 | CMPPS
21 |
22 | * sysenter, sysexit as CALL types -- preceded by MSR writes
23 | * SYSENTER/SYSEXIT stack : overwrites SS, ESP
24 | * stos, cmps, scas, movs, ins, outs, lods -> OP_PTR
25 | * OP_SIZE in implicit operands
26 | * use OP_SIZE to choose reg sizes!
27 |
28 | DONE?? :
29 | implicit operands: provide action ?
30 | e.g. add/inc for stach, write, etc
31 | replace table numbers in opcodes.dat with
32 | #defines for table names
33 |
34 | replace 0 with INSN_INVALID [or maybe FF for imnvalid and 00 for Not Applicable */
35 | no wait that is only for prefix tables -- n/p
36 |
37 | if ( prefx) only use if insn != invalid
38 |
39 | these should cover all the wacky disasm exceptions
40 |
41 | for the rep one we can chet, match only a 0x90
42 |
43 | todo: privilege | ring
44 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/ia32_opcode_tables.h:
--------------------------------------------------------------------------------
1 | #define idx_Main 0
2 | #define idx_66 1
3 | #define idx_F2 2
4 | #define idx_F3 3
5 | #define idx_0F 4
6 | #define idx_660F 5
7 | #define idx_F20F 6
8 | #define idx_F30F 7
9 | #define idx_0F00 8
10 | #define idx_0F01 9
11 | #define idx_0F0111 10
12 | #define idx_0F12 11
13 | #define idx_0F16 12
14 | #define idx_0F18 13
15 | #define idx_0F71 14
16 | #define idx_660F71 15
17 | #define idx_0F72 16
18 | #define idx_660F72 17
19 | #define idx_0F73 18
20 | #define idx_660F73 19
21 | #define idx_0FAE 20
22 | #define idx_0FBA 21
23 | #define idx_0FC7 22
24 | #define idx_0FB9 23
25 | #define idx_C6 24
26 | #define idx_C7 25
27 | #define idx_80 26
28 | #define idx_81 27
29 | #define idx_82 28
30 | #define idx_83 29
31 | #define idx_C0 30
32 | #define idx_C1 31
33 | #define idx_D0 32
34 | #define idx_D1 33
35 | #define idx_D2 34
36 | #define idx_D3 35
37 | #define idx_F6 36
38 | #define idx_F7 37
39 | #define idx_FE 38
40 | #define idx_FF 39
41 | #define idx_D8 40
42 | #define idx_D8C0 41
43 | #define idx_D9 42
44 | #define idx_D9C0 43
45 | #define idx_DA 44
46 | #define idx_DAC0 45
47 | #define idx_DB 46
48 | #define idx_DBC0 47
49 | #define idx_DC 48
50 | #define idx_DCC0 49
51 | #define idx_DD 50
52 | #define idx_DDC0 51
53 | #define idx_DE 52
54 | #define idx_DEC0 53
55 | #define idx_DF 54
56 | #define idx_DFC0 55
57 | #define idx_0F0F 56
58 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/ia32_reg.h:
--------------------------------------------------------------------------------
1 | #ifndef IA32_REG_H
2 | #define IA32_REG_H
3 |
4 | #include /* for size_t */
5 | #include "libdis.h" /* for x86_reg_t */
6 |
7 | /* NOTE these are used in opcode tables for hard-coded registers */
8 | #define REG_DWORD_OFFSET 1 /* 0 + 1 */
9 | #define REG_ECX_INDEX 2 /* 0 + 1 + 1 */
10 | #define REG_ESP_INDEX 5 /* 0 + 4 + 1 */
11 | #define REG_EBP_INDEX 6 /* 0 + 5 + 1 */
12 | #define REG_ESI_INDEX 7 /* 0 + 6 + 1 */
13 | #define REG_EDI_INDEX 8 /* 0 + 7 + 1 */
14 | #define REG_WORD_OFFSET 9 /* 1 * 8 + 1 */
15 | #define REG_BYTE_OFFSET 17 /* 2 * 8 + 1 */
16 | #define REG_MMX_OFFSET 25 /* 3 * 8 + 1 */
17 | #define REG_SIMD_OFFSET 33 /* 4 * 8 + 1 */
18 | #define REG_DEBUG_OFFSET 41 /* 5 * 8 + 1 */
19 | #define REG_CTRL_OFFSET 49 /* 6 * 8 + 1 */
20 | #define REG_TEST_OFFSET 57 /* 7 * 8 + 1 */
21 | #define REG_SEG_OFFSET 65 /* 8 * 8 + 1 */
22 | #define REG_LDTR_INDEX 71 /* 8 * 8 + 1 + 1 */
23 | #define REG_GDTR_INDEX 72 /* 8 * 8 + 2 + 1 */
24 | #define REG_FPU_OFFSET 73 /* 9 * 8 + 1 */
25 | #define REG_FLAGS_INDEX 81 /* 10 * 8 + 1 */
26 | #define REG_FPCTRL_INDEX 82 /* 10 * 8 + 1 + 1 */
27 | #define REG_FPSTATUS_INDEX 83 /* 10 * 8 + 2 + 1 */
28 | #define REG_FPTAG_INDEX 84 /* 10 * 8 + 3 + 1 */
29 | #define REG_EIP_INDEX 85 /* 10 * 8 + 4 + 1 */
30 | #define REG_IP_INDEX 86 /* 10 * 8 + 5 + 1 */
31 | #define REG_IDTR_INDEX 87 /* 10 * 8 + 6 + 1 */
32 | #define REG_MXCSG_INDEX 88 /* 10 * 8 + 7 + 1 */
33 | #define REG_TR_INDEX 89 /* 10 * 8 + 8 + 1 */
34 | #define REG_CSMSR_INDEX 90 /* 10 * 8 + 9 + 1 */
35 | #define REG_ESPMSR_INDEX 91 /* 10 * 8 + 10 + 1 */
36 | #define REG_EIPMSR_INDEX 92 /* 10 * 8 + 11 + 1 */
37 |
38 | void ia32_handle_register( x86_reg_t *reg, size_t id );
39 | size_t ia32_true_register_id( size_t id );
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/ia32_settings.h:
--------------------------------------------------------------------------------
1 | #ifndef IA32_SETTINGS_H
2 | #define IA32_SETTINGS_H
3 |
4 | #include "libdis.h"
5 |
6 | typedef struct {
7 | /* options */
8 | unsigned char endian, /* 0 = big, 1 = little */
9 | wc_byte, /* wildcard byte */
10 | max_insn, /* max insn size */
11 | sz_addr, /* default address size */
12 | sz_oper, /* default operand size */
13 | sz_byte, /* # bits in byte */
14 | sz_word, /* # bytes in machine word */
15 | sz_dword; /* # bytes in machine dword */
16 | unsigned int id_sp_reg, /* id of stack pointer */
17 | id_fp_reg, /* id of frame pointer */
18 | id_ip_reg, /* id of instruction pointer */
19 | id_flag_reg, /* id of flags register */
20 | offset_gen_regs, /* start of general regs */
21 | offset_seg_regs, /* start of segment regs */
22 | offset_fpu_regs; /* start of floating point regs */
23 | /* user-controlled settings */
24 | enum x86_options options;
25 | } ia32_settings_t;
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/swig/Makefile:
--------------------------------------------------------------------------------
1 | # change these values if you need to
2 | SWIG = swig # apt-get install swig !
3 | GCC = gcc
4 |
5 | CC_FLAGS = -c -fPIC
6 | LD_FLAGS = -shared -L../.. -ldisasm
7 |
8 | BASE_NAME = x86disasm
9 |
10 | export INTERFACE_FILE BASE_NAME SWIG GCC CC_FLAGS LD_FLAGS
11 |
12 | #====================================================
13 | # TARGETS
14 |
15 | all: swig
16 | dummy: swig swig-python swig-ruby swig-perl swig-tcl install uninstall clean
17 |
18 | swig: swig-python swig-perl
19 | # swig-rub swig-tcl
20 |
21 | swig-python:
22 | cd python && make -f Makefile-swig
23 |
24 | swig-ruby:
25 | cd ruby && make -f Makefile-swig
26 |
27 | swig-perl:
28 | cd perl && make -f Makefile-swig
29 |
30 | swig-tcl:
31 | cd tcl && make -f Makefile-swig
32 |
33 | # ==================================================================
34 | install: install-python install-perl
35 | # install-ruby install-tcl
36 |
37 | install-python:
38 | cd python && sudo make -f Makefile-swig install
39 |
40 | install-ruby:
41 | cd ruby && sudo make -f Makefile-swig install
42 |
43 | install-perl:
44 | cd perl && sudo make -f Makefile-swig install
45 |
46 | install-tcl:
47 | cd tcl && sudo make -f Makefile-swig install
48 |
49 | # ==================================================================
50 | uninstall: uninstall-python
51 | #uninstall-ruby uninstall-perl uninstall-tcl
52 |
53 | uninstall-python:
54 | cd python && sudo make -f Makefile-swig uninstall
55 |
56 | uninstall-ruby:
57 | cd ruby && sudo make -f Makefile-swig uninstall
58 |
59 | uninstall-perl:
60 | cd perl && sudo make -f Makefile-swig uninstall
61 |
62 | uninstall-tcl:
63 | cd tcl && sudo make -f Makefile-swig uninstall
64 |
65 | # ==================================================================
66 | clean:
67 | cd python && make -f Makefile-swig clean
68 | cd ruby && make -f Makefile-swig clean
69 | cd perl && make -f Makefile-swig clean
70 | cd tcl && make -f Makefile-swig clean
71 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/swig/perl/Makefile-swig:
--------------------------------------------------------------------------------
1 | ifndef BASE_NAME
2 | BASE_NAME = x86disasm
3 | endif
4 |
5 | ifndef SWIG
6 | SWIG = swig # apt-get install swig !
7 | endif
8 |
9 | ifndef GCC
10 | GCC = gcc
11 | endif
12 |
13 | ifndef CC_FLAGS
14 | CC_FLAGS = -c -fPIC
15 | endif
16 |
17 | ifndef LD_FLAGS
18 | LD_FLAGS = -shared -L.. -ldisasm
19 | endif
20 |
21 | INTERFACE_FILE = libdisasm_oop.i
22 |
23 | SWIG_INTERFACE = ../$(INTERFACE_FILE)
24 |
25 | # PERL rules
26 | PERL_MOD = blib/arch/auto/$(BASE_NAME)/$(BASE_NAME).so
27 | PERL_SHADOW = $(BASE_NAME)_wrap.c
28 | PERL_SWIG = $(BASE_NAME).pl
29 | PERL_OBJ = $(BASE_NAME)_wrap.o
30 | PERL_INC = `perl -e 'use Config; print $$Config{archlib};'`/CORE
31 | PERL_CC_FLAGS = `perl -e 'use Config; print $$Config{ccflags};'`
32 |
33 | #====================================================
34 | # TARGETS
35 |
36 | all: swig-perl
37 |
38 | dummy: swig-perl install uninstall clean
39 |
40 | swig-perl: $(PERL_MOD)
41 |
42 | $(PERL_MOD): $(PERL_OBJ)
43 | perl Makefile.PL
44 | make
45 | #$(GCC) $(LD_FLAGS) $(PERL_OBJ) -o $@
46 |
47 | $(PERL_OBJ): $(PERL_SHADOW)
48 | $(GCC) $(CC_FLAGS) $(PERL_CC_FLAGS) -I$(PERL_INC) -o $@ $<
49 |
50 | $(PERL_SHADOW): $(SWIG_INTERFACE)
51 | swig -perl -shadow -o $(PERL_SHADOW) -outdir . $<
52 |
53 | # ==================================================================
54 | install: $(PERL_MOD)
55 | make install
56 |
57 | # ==================================================================
58 | uninstall:
59 |
60 | # ==================================================================
61 | clean:
62 | rm $(PERL_MOD) $(PERL_OBJ)
63 | rm $(PERL_SHADOW)
64 | rm -rf Makefile blib pm_to_blib
65 |
66 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/swig/python/Makefile-swig:
--------------------------------------------------------------------------------
1 | ifndef BASE_NAME
2 | BASE_NAME = x86disasm
3 | endif
4 |
5 | ifndef SWIG
6 | SWIG = swig # apt-get install swig !
7 | endif
8 |
9 | ifndef GCC
10 | GCC = gcc
11 | endif
12 |
13 | ifndef CC_FLAGS
14 | CC_FLAGS = -c -fPIC
15 | endif
16 |
17 | ifndef LD_FLAGS
18 | LD_FLAGS = -shared -L.. -ldisasm
19 | endif
20 |
21 | INTERFACE_FILE = libdisasm_oop.i
22 |
23 | SWIG_INTERFACE = ../$(INTERFACE_FILE)
24 |
25 | # PYTHON rules
26 | PYTHON_MOD = $(BASE_NAME)-python.so
27 | PYTHON_SHADOW = $(BASE_NAME)_wrap.c
28 | PYTHON_SWIG = $(BASE_NAME).py
29 | PYTHON_OBJ = $(BASE_NAME)_wrap.o
30 | PYTHON_INC = `/bin/echo -e 'import sys\nprint sys.prefix + "/include/python" + sys.version[:3]' | python`
31 | PYTHON_LIB = `/bin/echo -e 'import sys\nprint sys.prefix + "/lib/python" + sys.version[:3]' | python`
32 | PYTHON_DEST = $(PYTHON_LIB)/lib-dynload/_$(BASE_NAME).so
33 |
34 | #====================================================
35 | # TARGETS
36 |
37 | all: swig-python
38 |
39 | dummy: swig-python install uninstall clean
40 |
41 | swig-python: $(PYTHON_MOD)
42 |
43 | $(PYTHON_MOD): $(PYTHON_OBJ)
44 | $(GCC) $(LD_FLAGS) $(PYTHON_OBJ) -o $@
45 |
46 | $(PYTHON_OBJ): $(PYTHON_SHADOW)
47 | $(GCC) $(CC_FLAGS) -I$(PYTHON_INC) -I.. -o $@ $<
48 |
49 | $(PYTHON_SHADOW): $(SWIG_INTERFACE)
50 | swig -python -shadow -o $(PYTHON_SHADOW) -outdir . $<
51 |
52 | # ==================================================================
53 | install: $(PYTHON_MOD)
54 | sudo cp $(PYTHON_MOD) $(PYTHON_DEST)
55 | sudo cp $(PYTHON_SWIG) $(PYTHON_LIB)
56 |
57 | # ==================================================================
58 | uninstall:
59 |
60 | # ==================================================================
61 | clean:
62 | rm $(PYTHON_MOD) $(PYTHON_SWIG) $(PYTHON_OBJ)
63 | rm $(PYTHON_SHADOW)
64 |
65 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/swig/ruby/Makefile-swig:
--------------------------------------------------------------------------------
1 | ifndef BASE_NAME
2 | BASE_NAME = x86disasm
3 | endif
4 |
5 | ifndef SWIG
6 | SWIG = swig # apt-get install swig !
7 | endif
8 |
9 | ifndef GCC
10 | GCC = gcc
11 | endif
12 |
13 | ifndef CC_FLAGS
14 | CC_FLAGS = -c -fPIC
15 | endif
16 |
17 | ifndef LD_FLAGS
18 | LD_FLAGS = -shared -L../.. -ldisasm
19 | endif
20 |
21 | LIBDISASM_DIR = ../..
22 |
23 | INTERFACE_FILE = libdisasm_oop.i
24 |
25 | SWIG_INTERFACE = ../$(INTERFACE_FILE)
26 |
27 | # RUBY rules
28 | RUBY_MAKEFILE = Makefile
29 | RUBY_MOD = $(BASE_NAME).so
30 | RUBY_SHADOW = $(BASE_NAME)_wrap.c
31 | #RUBY_SWIG = $(BASE_NAME).rb
32 | RUBY_OBJ = $(BASE_NAME)_wrap.o
33 | RUBY_INC = `ruby -e 'puts $$:.join("\n")' | tail -2 | head -1`
34 | #RUBY_LIB =
35 | #RUBY_DEST =
36 |
37 | #====================================================
38 | # TARGETS
39 |
40 | all: swig-ruby
41 |
42 | dummy: swig-ruby install uninstall clean
43 |
44 | swig-ruby: $(RUBY_MOD)
45 |
46 | $(RUBY_MOD): $(RUBY_MAKEFILE)
47 | make
48 |
49 | $(RUBY_MAKEFILE): $(RUBY_OBJ)
50 | ruby extconf.rb
51 |
52 | $(RUBY_OBJ):$(RUBY_SHADOW)
53 | $(GCC) $(CC_FLAGS) -I$(RUBY_INC) -I.. -o $@ $<
54 |
55 | $(RUBY_SHADOW): $(SWIG_INTERFACE)
56 | swig -ruby -o $(RUBY_SHADOW) -outdir . $<
57 |
58 | # ==================================================================
59 | install: $(RUBY_MOD)
60 | make install
61 |
62 | # ==================================================================
63 | uninstall:
64 |
65 | # ==================================================================
66 | clean:
67 | make clean || true
68 | rm $(RUBY_SHADOW) $(RUBY_MAKEFILE) $(RUBY_MOD) $(RUBY_OBJ)
69 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/swig/tcl/Makefile-swig:
--------------------------------------------------------------------------------
1 | ifndef BASE_NAME
2 | BASE_NAME = x86disasm
3 | endif
4 |
5 | ifndef SWIG
6 | SWIG = swig # apt-get install swig !
7 | endif
8 |
9 | ifndef GCC
10 | GCC = gcc
11 | endif
12 |
13 | ifndef CC_FLAGS
14 | CC_FLAGS = -c -fPIC
15 | endif
16 |
17 | ifndef LD_FLAGS
18 | LD_FLAGS = -shared -L../.. -ldisasm
19 | endif
20 |
21 | INTERFACE_FILE = libdisasm.i
22 |
23 | SWIG_INTERFACE = ../$(INTERFACE_FILE)
24 |
25 | # TCL rules
26 | TCL_VERSION = 8.3
27 | TCL_MOD = $(BASE_NAME)-tcl.so
28 | TCL_SHADOW = $(BASE_NAME)_wrap.c
29 | TCL_OBJ = $(BASE_NAME)_wrap.o
30 | TCL_INC = /usr/include/tcl$(TCL_VERSION)
31 | TCL_LIB = /usr/lib/tcl$(TCL_VERSION)
32 | TCL_DEST = $(TCL_LIB)/$(BASE_NAME).so
33 |
34 | #====================================================
35 | # TARGETS
36 |
37 | all: swig-tcl
38 |
39 | dummy: swig-tcl install uninstall clean
40 |
41 | swig-tcl: $(TCL_MOD)
42 |
43 | $(TCL_MOD): $(TCL_OBJ)
44 | $(GCC) $(LD_FLAGS) $(TCL_OBJ) -o $@
45 |
46 | $(TCL_OBJ): $(TCL_SHADOW)
47 | $(GCC) $(CC_FLAGS) -I$(TCL_INC) -I.. -o $@ $<
48 |
49 | $(TCL_SHADOW): $(SWIG_INTERFACE)
50 | swig -tcl -o $(TCL_SHADOW) -outdir . $<
51 |
52 | # ==================================================================
53 | install: $(TCL_MOD)
54 | sudo cp $(TCL_MOD) $(TCL_DEST)
55 |
56 | # ==================================================================
57 | uninstall:
58 |
59 | # ==================================================================
60 | clean:
61 | rm $(TCL_MOD) $(TCL_SWIG) $(TCL_OBJ)
62 | rm $(TCL_SHADOW)
63 |
64 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/libdisasm/x86_imm.c:
--------------------------------------------------------------------------------
1 | #include "qword.h"
2 | #include "x86_imm.h"
3 |
4 | #include
5 |
6 | unsigned int x86_imm_signsized( unsigned char * buf, size_t buf_len,
7 | void *dest, unsigned int size ) {
8 | signed char *cp = (signed char *) dest;
9 | signed short *sp = (signed short *) dest;
10 | int32_t *lp = (int32_t *) dest;
11 | qword_t *qp = (qword_t *) dest;
12 |
13 | if ( size > buf_len ) {
14 | return 0;
15 | }
16 |
17 | /* Copy 'size' bytes from *buf to *op
18 | * return number of bytes copied */
19 | switch (size) {
20 | case 1: /* BYTE */
21 | *cp = *((signed char *) buf);
22 | break;
23 | case 2: /* WORD */
24 | *sp = *((signed short *) buf);
25 | break;
26 | case 6:
27 | case 8: /* QWORD */
28 | *qp = *((qword_t *) buf);
29 | break;
30 | case 4: /* DWORD */
31 | default:
32 | *lp = *((int32_t *) buf);
33 | break;
34 | }
35 | return (size);
36 | }
37 |
38 | unsigned int x86_imm_sized( unsigned char * buf, size_t buf_len, void *dest,
39 | unsigned int size ) {
40 | unsigned char *cp = (unsigned char *) dest;
41 | unsigned short *sp = (unsigned short *) dest;
42 | uint32_t *lp = (uint32_t *) dest;
43 | qword_t *qp = (qword_t *) dest;
44 |
45 | if ( size > buf_len ) {
46 | return 0;
47 | }
48 |
49 | /* Copy 'size' bytes from *buf to *op
50 | * return number of bytes copied */
51 | switch (size) {
52 | case 1: /* BYTE */
53 | *cp = *((unsigned char *) buf);
54 | break;
55 | case 2: /* WORD */
56 | *sp = *((unsigned short *) buf);
57 | break;
58 | case 6:
59 | case 8: /* QWORD */
60 | *qp = *((qword_t *) buf);
61 | break;
62 | case 4: /* DWORD */
63 | default:
64 | *lp = *((uint32_t *) buf);
65 | break;
66 | }
67 |
68 | return (size);
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/mac_headers/architecture/byte_order.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1999-2008 Apple Computer, Inc. All rights reserved.
3 | *
4 | * @APPLE_LICENSE_HEADER_START@
5 | *
6 | * This file contains Original Code and/or Modifications of Original Code
7 | * as defined in and that are subject to the Apple Public Source License
8 | * Version 2.0 (the 'License'). You may not use this file except in
9 | * compliance with the License. Please obtain a copy of the License at
10 | * http://www.opensource.apple.com/apsl/ and read it before using this
11 | * file.
12 | *
13 | * The Original Code and all software distributed under the License are
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 | * Please see the License for the specific language governing rights and
19 | * limitations under the License.
20 | *
21 | * @APPLE_LICENSE_HEADER_END@
22 | */
23 | /*
24 | * Copyright (c) 1992 NeXT Computer, Inc.
25 | *
26 | * Byte ordering conversion.
27 | *
28 | */
29 | /* This file mostly left blank */
30 |
31 | #ifndef _ARCHITECTURE_BYTE_ORDER_H_
32 | #define _ARCHITECTURE_BYTE_ORDER_H_
33 |
34 | /*
35 | * Identify the byte order
36 | * of the current host.
37 | */
38 |
39 | enum NXByteOrder {
40 | NX_UnknownByteOrder,
41 | NX_LittleEndian,
42 | NX_BigEndian
43 | };
44 |
45 | #endif /* _ARCHITECTURE_BYTE_ORDER_H_ */
46 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/mac_headers/i386/_types.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
3 | *
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 | *
6 | * This file contains Original Code and/or Modifications of Original Code
7 | * as defined in and that are subject to the Apple Public Source License
8 | * Version 2.0 (the 'License'). You may not use this file except in
9 | * compliance with the License. The rights granted to you under the License
10 | * may not be used to create, or enable the creation or redistribution of,
11 | * unlawful or unlicensed copies of an Apple operating system, or to
12 | * circumvent, violate, or enable the circumvention or violation of, any
13 | * terms of an Apple operating system software license agreement.
14 | *
15 | * Please obtain a copy of the License at
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 | *
18 | * The Original Code and all software distributed under the License are
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 | * Please see the License for the specific language governing rights and
24 | * limitations under the License.
25 | *
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 | */
28 | #ifndef _BSD_I386__TYPES_H_
29 | #define _BSD_I386__TYPES_H_
30 |
31 | typedef long __darwin_intptr_t;
32 | typedef unsigned int __darwin_natural_t;
33 |
34 | #endif /* _BSD_I386__TYPES_H_ */
35 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/mac_headers/mach/machine/boolean.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
3 | *
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 | *
6 | * This file contains Original Code and/or Modifications of Original Code
7 | * as defined in and that are subject to the Apple Public Source License
8 | * Version 2.0 (the 'License'). You may not use this file except in
9 | * compliance with the License. The rights granted to you under the License
10 | * may not be used to create, or enable the creation or redistribution of,
11 | * unlawful or unlicensed copies of an Apple operating system, or to
12 | * circumvent, violate, or enable the circumvention or violation of, any
13 | * terms of an Apple operating system software license agreement.
14 | *
15 | * Please obtain a copy of the License at
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 | *
18 | * The Original Code and all software distributed under the License are
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 | * Please see the License for the specific language governing rights and
24 | * limitations under the License.
25 | *
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 | */
28 |
29 | #ifndef _MACH_MACHINE_BOOLEAN_H_
30 | #define _MACH_MACHINE_BOOLEAN_H_
31 |
32 | #if defined (__i386__) || defined(__x86_64__)
33 | #include "mach/i386/boolean.h"
34 | #elif defined (__arm__)
35 | #include "mach/arm/boolean.h"
36 | #else
37 | #error architecture not supported
38 | #endif
39 |
40 | #endif /* _MACH_MACHINE_BOOLEAN_H_ */
41 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/mac_headers/mach/machine/thread_status.h:
--------------------------------------------------------------------------------
1 | /* This file intentionally left blank */
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/mac_headers/mach/machine/vm_types.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
3 | *
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 | *
6 | * This file contains Original Code and/or Modifications of Original Code
7 | * as defined in and that are subject to the Apple Public Source License
8 | * Version 2.0 (the 'License'). You may not use this file except in
9 | * compliance with the License. The rights granted to you under the License
10 | * may not be used to create, or enable the creation or redistribution of,
11 | * unlawful or unlicensed copies of an Apple operating system, or to
12 | * circumvent, violate, or enable the circumvention or violation of, any
13 | * terms of an Apple operating system software license agreement.
14 | *
15 | * Please obtain a copy of the License at
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 | *
18 | * The Original Code and all software distributed under the License are
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 | * Please see the License for the specific language governing rights and
24 | * limitations under the License.
25 | *
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 | */
28 |
29 | #ifndef _MACH_MACHINE_VM_TYPES_H_
30 | #define _MACH_MACHINE_VM_TYPES_H_
31 |
32 | #if defined (__i386__) || defined(__x86_64__)
33 | #include "mach/i386/vm_types.h"
34 | #elif defined (__arm__)
35 | #include "mach/arm/vm_types.h"
36 | #else
37 | #error architecture not supported
38 | #endif
39 |
40 | #endif /* _MACH_MACHINE_VM_TYPES_H_ */
41 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/musl/README:
--------------------------------------------------------------------------------
1 |
2 | musl libc
3 |
4 | musl, pronounced like the word "mussel", is an MIT-licensed
5 | implementation of the standard C library targetting the Linux syscall
6 | API, suitable for use in a wide range of deployment environments. musl
7 | offers efficient static and dynamic linking support, lightweight code
8 | and low runtime overhead, strong fail-safe guarantees under correct
9 | usage, and correctness in the sense of standards conformance and
10 | safety. musl is built on the principle that these goals are best
11 | achieved through simple code that is easy to understand and maintain.
12 |
13 | The 1.1 release series for musl features coverage for all interfaces
14 | defined in ISO C99 and POSIX 2008 base, along with a number of
15 | non-standardized interfaces for compatibility with Linux, BSD, and
16 | glibc functionality.
17 |
18 | For basic installation instructions, see the included INSTALL file.
19 | Information on full musl-targeted compiler toolchains, system
20 | bootstrapping, and Linux distributions built on musl can be found on
21 | the project website:
22 |
23 | http://www.musl-libc.org/
24 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/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 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/third_party/musl/VERSION:
--------------------------------------------------------------------------------
1 | 1.1.14
2 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.sym:
--------------------------------------------------------------------------------
1 | MODULE solaris x86 3DC8191474338D8587339B5FB3E2C62A0 dump_syms_regtest.o
2 | FILE 0 dump_syms_regtest.cc
3 | FUNC 0 156 0 main
4 | 12 18 57 0
5 | 1e 12 58 0
6 | 36 24 59 0
7 | 42 12 60 0
8 | 57 21 61 0
9 | 6c 21 63 0
10 | 9c 48 64 0
11 | FUNC 0 16 0 int google_breakpad::i()
12 | 6 6 51 0
13 | 10 10 52 0
14 | FUNC 0 37 0 google_breakpad::C::C()
15 | 25 37 36 0
16 | FUNC 0 3 0 google_breakpad::C::~C()
17 | 3 3 37 0
18 | FUNC 0 12 0 void google_breakpad::C::set_member(int)
19 | 3 3 39 0
20 | c 9 39 0
21 | FUNC 0 29 0 void google_breakpad::C::f()
22 | 3 3 42 0
23 | 1d 26 42 0
24 | FUNC 0 16 0 int google_breakpad::C::g()
25 | 6 6 43 0
26 | 10 10 43 0
27 | FUNC 0 16 0 char*google_breakpad::C::h(const google_breakpad::C&)
28 | 6 6 44 0
29 | 10 10 44 0
30 | FUNC 0 15 0 google_breakpad::C::~C #Nvariant 1()
31 | f 15 37 0
32 | FUNC 0 0 0 __SLIP.DELETER__A
33 | FUNC 0 0 0 void operator delete(void*)
34 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/tools.gyp:
--------------------------------------------------------------------------------
1 | # Copyright 2014 Google Inc. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | {
30 | 'conditions': [
31 | ['OS=="mac"', {
32 | 'includes': ['mac/tools_mac.gypi'],
33 | }],
34 | ['OS=="linux"', {
35 | 'includes': ['linux/tools_linux.gypi'],
36 | }],
37 | ],
38 | }
39 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/binaries/dump_syms.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/binaries/dump_syms.exe
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/binaries/symupload.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/binaries/symupload.exe
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/converter/ms_symbol_server_converter.gyp:
--------------------------------------------------------------------------------
1 | # Copyright 2013 Google Inc. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | {
30 | 'includes': [
31 | '../../../build/common.gypi',
32 | ],
33 | 'targets': [
34 | {
35 | 'target_name': 'ms_symbol_server_converter',
36 | 'type': 'static_library',
37 | 'msvs_guid': '1463C4CD-23FC-4DE9-BFDE-283338200157',
38 | 'sources': [
39 | 'ms_symbol_server_converter.cc',
40 | ],
41 | 'dependencies': [
42 | '../../../common/windows/common_windows.gyp:common_windows_lib',
43 | ],
44 | },
45 | ],
46 | }
47 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/refresh_binaries.bat:
--------------------------------------------------------------------------------
1 | REM This batch file is meant to facilitate regenerating prebuilt binaries for
2 | REM the Windows tools.
3 | REM You MUST run it from a Visual Studio xxxx Command Prompt. To do this,
4 | REM navigate to:
5 | REM
6 | REM Start->Programs->Microsoft Visual Studio XXXX->Tools->
7 | REM Visual Studio Command Prompt
8 | REM
9 | REM Then run this batch file. It performs an SVN update, edits the
10 | REM README.binaries file to contain
11 | REM the revision number, and builds the tools. You must run 'svn commit' to
12 | REM commit the pending edits to the repository.
13 |
14 | pushd %~dp0
15 | if %VisualStudioVersion% == 14.0 set GYP_MSVS_VERSION=2015
16 | gyp tools_windows.gyp
17 | msbuild tools_windows.sln /p:Configuration=Release /t:Clean,Build
18 | copy Release\symupload.exe binaries\
19 | copy Release\dump_syms.exe binaries\
20 | git add binaries
21 | git commit -m "Built Windows binaries"
22 | echo Done!
23 | popd
24 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/jni/third-breakpad/src/tools/windows/tools_windows.gyp:
--------------------------------------------------------------------------------
1 | # Copyright 2017 Google Inc. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 |
30 | {
31 | 'includes': [
32 | '../../build/common.gypi',
33 | ],
34 | 'targets': [
35 | {
36 | 'target_name': 'build_all',
37 | 'type': 'none',
38 | 'dependencies': [
39 | './converter/ms_symbol_server_converter.gyp:*',
40 | './dump_syms/dump_syms.gyp:*',
41 | './symupload/symupload.gyp:*',
42 | ],
43 | },
44 | ],
45 | }
46 |
--------------------------------------------------------------------------------
/native-crash-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | crash-core
3 |
4 |
--------------------------------------------------------------------------------
/native-crash-core/src/test/java/cn/yan/crash/core/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.yan.crash.core;
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 | }
--------------------------------------------------------------------------------
/native-crash-core/tools/dump_syms:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/tools/dump_syms
--------------------------------------------------------------------------------
/native-crash-core/tools/microdump_stackwalk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanbober/android-crash/7565135a7bc4eeaff0d8a664ec62d381db7ea7e5/native-crash-core/tools/microdump_stackwalk
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':test-demo-app', ':native-crash-core', ':java-crash-core', ':android-crash-core', ':crash-gradle-plugin', ':base-crash-core'
2 |
--------------------------------------------------------------------------------
/test-demo-app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/test-demo-app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 | apply plugin: 'kotlin-android-extensions'
4 |
5 | apply plugin: 'android-crash'
6 |
7 | android {
8 | compileSdkVersion 27
9 | defaultConfig {
10 | applicationId "cn.yan.android.crash"
11 | minSdkVersion 14
12 | targetSdkVersion 27
13 | versionCode 1
14 | versionName "1.0"
15 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
16 |
17 | ndk {
18 | abiFilters "armeabi-v7a"
19 | }
20 | }
21 | buildTypes {
22 | release {
23 | minifyEnabled false
24 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
25 | }
26 | }
27 | }
28 |
29 | dependencies {
30 | implementation fileTree(dir: 'libs', include: ['*.jar'])
31 | implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
32 | implementation 'com.android.support:appcompat-v7:27.1.1'
33 | implementation 'com.android.support.constraint:constraint-layout:1.1.2'
34 | testImplementation 'junit:junit:4.12'
35 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
36 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
37 |
38 | compile project(':native-crash-core')
39 | }
40 |
--------------------------------------------------------------------------------
/test-demo-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 |
--------------------------------------------------------------------------------
/test-demo-app/src/androidTest/java/cn/yan/android/crash/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package cn.yan.android.crash
2 |
3 | import android.support.test.InstrumentationRegistry
4 | import android.support.test.runner.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getTargetContext()
22 | assertEquals("cn.yan.android.crash", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/test-demo-app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/test-demo-app/src/main/java/cn/yan/android/crash/DemoActivity.kt:
--------------------------------------------------------------------------------
1 | package cn.yan.android.crash
2 |
3 | import android.content.pm.PackageManager
4 | import android.os.Bundle
5 | import android.support.v4.app.ActivityCompat
6 | import android.support.v7.app.AppCompatActivity
7 | import android.widget.Button
8 | import cn.yan.crash.core.NativeCrash
9 |
10 | class DemoActivity : AppCompatActivity() {
11 |
12 | override fun onCreate(savedInstanceState: Bundle?) {
13 | super.onCreate(savedInstanceState)
14 | setContentView(R.layout.activity_demo)
15 |
16 | val permissions = arrayOf("android.permission.READ_EXTERNAL_STORAGE",
17 | "android.permission.WRITE_EXTERNAL_STORAGE")
18 | permissions.forEach {
19 | val grant = ActivityCompat.checkSelfPermission(this, it)
20 | if (grant != PackageManager.PERMISSION_GRANTED) {
21 | ActivityCompat.requestPermissions(this, arrayOf(it), 1)
22 | }
23 | }
24 |
25 | findViewById