| # Allocation Recorder |
| The allocation_recorder lets Crashpad include a log of recent calls to malloc() |
| and free() when a memory safety fault is detected. Each entry includes a portion |
| of the stack trace as well as the size and the address of the object. The code |
| that generates the log lives in base/debug/allocation_trace.h |
| |
| ## Code organization |
| The component is split up into multiple parts. |
| - **crash_client**: To be used by the client, that is the process for which |
| a crash report shall be created. The client also contains the definition of |
| the recorder. |
| - **crash_handler**: To be used by the crashpad handler. In case of a crash, the |
| crash handler is responsible to create a proper report from the recorder data. |
| *This will be implemented in a follow up CL.* |
| - **internal**: Code that is shared between crash_client and crash_handler but |
| used only internally, i.e. name of the crashpad annotation used to store |
| data. |
| |
| ## Current state of implementation |
| Due to the size of implementation, the feature will be implemented in multiple |
| CLs. |
| |
| | Nr | CL | Description | |
| | -- | -- | ----------- | |
| | 1 | https://chromium-review.googlesource.com/c/chromium/src/+/4323818 | **crash_client**: Introduce the crash client. The client should be fully implemented afterwards. | |