OLD | NEW |
1 // Copyright (c) 2014, Google Inc. | 1 // Copyright (c) 2014, Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 19 matching lines...) Expand all Loading... |
30 #ifndef CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ | 30 #ifndef CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ |
31 #define CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ | 31 #define CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ |
32 | 32 |
33 #include <stdint.h> | 33 #include <stdint.h> |
34 #include <sys/types.h> | 34 #include <sys/types.h> |
35 | 35 |
36 #include "client/linux/dump_writer_common/mapping_info.h" | 36 #include "client/linux/dump_writer_common/mapping_info.h" |
37 | 37 |
38 namespace google_breakpad { | 38 namespace google_breakpad { |
39 | 39 |
| 40 struct MicrodumpExtraInfo; |
| 41 |
40 // Writes a microdump (a reduced dump containing only the state of the crashing | 42 // Writes a microdump (a reduced dump containing only the state of the crashing |
41 // thread) on the console (logcat on Android). These functions do not malloc nor | 43 // thread) on the console (logcat on Android). These functions do not malloc nor |
42 // use libc functions which may. Thus, it can be used in contexts where the | 44 // use libc functions which may. Thus, it can be used in contexts where the |
43 // state of the heap may be corrupt. | 45 // state of the heap may be corrupt. |
44 // Args: | 46 // Args: |
45 // crashing_process: the pid of the crashing process. This must be trusted. | 47 // crashing_process: the pid of the crashing process. This must be trusted. |
46 // blob: a blob of data from the crashing process. See exception_handler.h | 48 // blob: a blob of data from the crashing process. See exception_handler.h |
47 // blob_size: the length of |blob| in bytes. | 49 // blob_size: the length of |blob| in bytes. |
48 // mappings: a list of additional mappings provided by the application. | 50 // mappings: a list of additional mappings provided by the application. |
49 // build_fingerprint: a (optional) C string which determines the OS | 51 // build_fingerprint: a (optional) C string which determines the OS |
50 // build fingerprint (e.g., aosp/occam/mako:5.1.1/LMY47W/1234:eng/dev-keys). | 52 // build fingerprint (e.g., aosp/occam/mako:5.1.1/LMY47W/1234:eng/dev-keys). |
51 // product_info: a (optional) C string which determines the product name and | 53 // product_info: a (optional) C string which determines the product name and |
52 // version (e.g., WebView:42.0.2311.136). | 54 // version (e.g., WebView:42.0.2311.136). |
53 // | 55 // |
54 // Returns true iff successful. | 56 // Returns true iff successful. |
55 bool WriteMicrodump(pid_t crashing_process, | 57 bool WriteMicrodump(pid_t crashing_process, |
56 const void* blob, | 58 const void* blob, |
57 size_t blob_size, | 59 size_t blob_size, |
58 const MappingList& mappings, | 60 const MappingList& mappings, |
59 const char* build_fingerprint, | 61 const MicrodumpExtraInfo& microdump_extra_info); |
60 const char* product_info); | |
61 | 62 |
62 } // namespace google_breakpad | 63 } // namespace google_breakpad |
63 | 64 |
64 #endif // CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ | 65 #endif // CLIENT_LINUX_MINIDUMP_WRITER_MICRODUMP_WRITER_H_ |
OLD | NEW |