Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: docs/getting_started_with_breakpad.md

Issue 2103273003: docs: clean up markdown Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Introduction 1 # Introduction
2 2
3 Breakpad is a library and tool suite that allows you to distribute an 3 Breakpad is a library and tool suite that allows you to distribute an
4 application to users with compiler-provided debugging information removed, 4 application to users with compiler-provided debugging information removed,
5 record crashes in compact "minidump" files, send them back to your server, and 5 record crashes in compact "minidump" files, send them back to your server, and
6 produce C and C++ stack traces from these minidumps. Breakpad can also write 6 produce C and C++ stack traces from these minidumps. Breakpad can also write
7 minidumps on request for programs that have not crashed. 7 minidumps on request for programs that have not crashed.
8 8
9 Breakpad is currently used by Google Chrome, Firefox, Google Picasa, Camino, 9 Breakpad is currently used by Google Chrome, Firefox, Google Picasa, Camino,
10 Google Earth, and other projects. 10 Google Earth, and other projects.
11 11
12 ![http://google-breakpad.googlecode.com/svn/wiki/breakpad.png] 12 ![Breakpad overview](./breakpad.png)
13 (http://google-breakpad.googlecode.com/svn/wiki/breakpad.png)
14 13
15 Breakpad has three main components: 14 Breakpad has three main components:
16 15
17 * The **client** is a library that you include in your application. It can 16 * The **client** is a library that you include in your application. It can
18 write minidump files capturing the current threads' state and the identities 17 write minidump files capturing the current threads' state and the identities
19 of the currently loaded executable and shared libraries. You can configure 18 of the currently loaded executable and shared libraries. You can configure
20 the client to write a minidump when a crash occurs, or when explicitly 19 the client to write a minidump when a crash occurs, or when explicitly
21 requested. 20 requested.
22 21
23 * The **symbol dumper** is a program that reads the debugging information 22 * The **symbol dumper** is a program that reads the debugging information
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 that writing the minidump from within the crashed process is unsafe - key 82 that writing the minidump from within the crashed process is unsafe - key
84 process data structures could be corrupted, or the stack on which the exception 83 process data structures could be corrupted, or the stack on which the exception
85 handler runs could have been overwritten, etc. All 3 platforms support what's 84 handler runs could have been overwritten, etc. All 3 platforms support what's
86 known as "out-of-process" exception handling. 85 known as "out-of-process" exception handling.
87 86
88 # Integration overview 87 # Integration overview
89 88
90 ## Breakpad Code Overview 89 ## Breakpad Code Overview
91 90
92 All the client-side code is found by visiting the Google Project at 91 All the client-side code is found by visiting the Google Project at
93 http://code.google.com/p/google-breakpad. The following directory structure is 92 https://chromium.googlesource.com/breakpad/breakpad/. The following directory
94 present in the `src` directory: 93 structure is present in the [src](/src/) directory:
95 94
96 * `processor` Contains minidump-processing code that is used on the server 95 * [processor](/src/processor/): Contains minidump-processing code that is used o n the
97 side and isn't of use on the client side 96 server side and isn't of use on the client side
98 * `client` Contains client minidump-generation libraries for all platforms 97 * [client](/src/client/): Contains client minidump-generation libraries for all
99 * `tools` Contains source code & projects for building various tools on each 98 platforms
100 platform. 99 * [tools](/src/tools/): Contains source code & projects for building various too ls on
100 each platform.
101 101
102 (Among other directories) 102 (Among other directories)
103 103
104 * <a 104 * [Windows Integration Guide](./windows_client_integration.md)
105 href='http://code.google.com/p/google-breakpad/wiki/WindowsClientIntegration '>Windows 105 * [Mac Integration Guide](./mac_breakpad_starter_guide.md)
106 Integration Guide</a> 106 * [Linux Integration Guide](./linux_starter_guide.md)
107 * <a
108 href='http://code.google.com/p/google-breakpad/wiki/MacBreakpadStarterGuide' >Mac
109 Integration Guide</a>
110 * <a href='http://code.google.com/p/google-breakpad/wiki/LinuxStarterGuide'>
111 Linux Integration Guide</a>
112 107
113 ## Build process specifics(symbol generation) 108 ## Build process specifics(symbol generation)
114 109
115 This applies to all platforms. Inside `src/tools/{platform}/dump_syms` is a tool 110 This applies to all platforms. Inside `src/tools/{platform}/dump_syms` is a tool
116 that can read debugging information for each platform (e.g. for OS X/Linux, 111 that can read debugging information for each platform (e.g. for OS X/Linux,
117 DWARF and STABS, and for Windows, PDB files) and generate a Breakpad symbol 112 DWARF and STABS, and for Windows, PDB files) and generate a Breakpad symbol
118 file. This tool should be run on your binary before it's stripped(in the case of 113 file. This tool should be run on your binary before it's stripped(in the case of
119 OS X/Linux) and the symbol files need to be stored somewhere that the minidump 114 OS X/Linux) and the symbol files need to be stored somewhere that the minidump
120 processor can find. There is another tool, `symupload`, that can be used to 115 processor can find. There is another tool, `symupload`, that can be used to
121 upload symbol files if you have written a server that can accept them. 116 upload symbol files if you have written a server that can accept them.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698