{"componentChunkName":"component---src-templates-platform-tsx","path":"/platforms/native/guides/minidumps/","result":{"data":{"file":{"id":"7ad8cebb-384e-52a2-aa84-94919844001e","relativePath":"native/guides/minidumps/index.mdx","sourceInstanceName":"platforms","childMarkdownRemark":null,"childMdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Minidumps\",\n  \"redirect_from\": [\"/platforms/minidump/\", \"/clients/minidump/\"]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Alert = makeShortcode(\"Alert\");\nvar CodeTabs = makeShortcode(\"CodeTabs\");\nvar CodeBlock = makeShortcode(\"CodeBlock\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Sentry can process Minidump crash reports, a memory dump used on Windows and by\\nopen-source libraries like \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/platforms/native/guides/breakpad/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Breakpad\")), \" or \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/platforms/native/guides/crashpad/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Crashpad\")), \". You can either choose to\\ngenerate and upload minidumps yourself or use a higher-level SDK for platforms\\nwith built-in support for native crashes:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/native/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Native (C/C++)\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/apple/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Apple (Cocoa)\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/electron/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Electron\")))), mdx(\"p\", null, \"In order to receive symbolicated stack traces, you have to upload debug\\ninformation to Sentry. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/workflow/debug-files/\"\n  }), \"Debug Information Files\"), \".\"), mdx(\"h2\", {\n    \"id\": \"what-is-a-minidump\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#what-is-a-minidump\",\n    \"aria-label\": \"what is a minidump permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"What is a Minidump?\"), mdx(\"p\", null, \"Minidumps are files containing the most important memory regions of a crashed\\nprocess. When the process crashes, the minidump is written to the user\\u2019s disk\\nand can later be uploaded to Sentry. A minidump typically includes:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The runtime stack of each thread that was active during the time of the crash.\\nThis allows yout to reconstruct stack traces for all stacks and even infer\\nvariable values in some cases.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Thread contexts -- that is, register values -- at the time of the crash. This\\nis especially relevant for stack walking.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Optionally, the process heap. By default, this is not included to keep\\nminidumps at a reasonable size. Sentry does not read the heap so that it can\\nbe safely omitted.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The crash reason and an optional memory address associated to with the crash.\\nFor example, memory access violations. In the case of assertions, the\\nassertion message is also included in the dump.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Meta data about the CPU architecture and the user\\u2019s operating system.\")), mdx(Alert, {\n    level: \"\",\n    title: \"A Word on Data Privacy\",\n    mdxType: \"Alert\"\n  }, mdx(\"markdown\", null, mdx(\"p\", null, \"Minidumps are memory dumps of the process at the moment it crashes. As such,\\nthey might contain sensitive information on the target system, such as\\nenvironment variables, local pathnames or maybe even in-memory representations\\nof input fields, including passwords. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Sentry does not store these memory\\ndumps\"), \". Once processed, they are removed immediately, and all sensitive\\ninformation is stripped from the resulting issues.\"))), mdx(\"p\", null, \"In addition to this information, you can add further metadata specific to\\nSentry, which can help in organizing and analyzing issues. For more information,\\nsee \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"#minidump-additional\"\n  }), \"Passing Additional Data\"), \".\"), mdx(\"h2\", {\n    \"id\": \"minidump-integration\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#minidump-integration\",\n    \"aria-label\": \"minidump integration permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Creating and Uploading Minidumps\"), mdx(\"p\", null, \"Depending on your operating system and programming language, there are various\\nalternatives to create minidumps and upload them to Sentry. See the following\\nresources for libraries that support generating minidump crash reports:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/native/\"\n  }), \"Native SDK\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/native/guides/breakpad/\"\n  }), \"Google Breakpad\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/platforms/native/guides/crashpad/\"\n  }), \"Google Crashpad\"))), mdx(\"p\", null, \"If you have already integrated a library that generates minidumps and would just\\nlike to upload them to Sentry, you need to configure the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Minidump Endpoint\\nURL\"), \", which can be found at \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Project Settings > Client Keys (DSN)\"), \". This\\nendpoint expects a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"POST\"), \" request with the minidump in the\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"upload_file_minidump\"), \" field:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"bash\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token function\"\n  }), \"curl\"), \" -X POST \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'___MINIDUMP_URL___'\"), \" \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token assign-left variable\"\n  }), \"upload_file_minidump\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"=\"), \"@mini.dmp\")))))), mdx(\"p\", null, \"To send additional information, add more form fields to this request. For a full\\ndescription of fields accepted by Sentry, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"#minidump-additional\"\n  }), \"Passing Additional\\nData\"), \".\"), mdx(\"h2\", {\n    \"id\": \"minidump-additional\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#minidump-additional\",\n    \"aria-label\": \"minidump additional permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Passing Additional Data\"), mdx(\"p\", null, \"You can add more information to crash reports by merely adding more fields to\\nthe upload HTTP request. All these fields will be collected in the \\u201CExtra Data\\u201D\\nsection in Sentry:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"bash\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token function\"\n  }), \"curl\"), \" -X POST \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'___MINIDUMP_URL___'\"), \" \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token assign-left variable\"\n  }), \"upload_file_minidump\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"=\"), \"@mini.dmp \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token assign-left variable\"\n  }), \"custom_field\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"=\"), \"value\")))))), mdx(\"p\", null, \"Additionally, you can set all attributes corresponding to the Sentry event\\ninterface in a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sentry\"), \" field. This field either accepts JSON data or its values\\ncan be flattened with the bracket syntax. For example, to set the release and\\nadd a tag, send:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"bash\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token comment\"\n  }), \"# As JSON\"), \"\\n\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token function\"\n  }), \"curl\"), \" -X POST \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'___MINIDUMP_URL___'\"), \" \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token assign-left variable\"\n  }), \"upload_file_minidump\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"=\"), \"@mini.dmp \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'sentry={\\\"release\\\":\\\"1.2.3\\\",\\\"tags\\\":{\\\"mytag\\\":\\\"value\\\"}}'\"), \"\\n\\n\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token comment\"\n  }), \"# flattened\"), \"\\n\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token function\"\n  }), \"curl\"), \" -X POST \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'___MINIDUMP_URL___'\"), \" \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token assign-left variable\"\n  }), \"upload_file_minidump\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"=\"), \"@mini.dmp \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'sentry[release]=1.0.0'\"), \" \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"\\\\\"), \"\\n  -F \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), \"'sentry[tags][mytag]=value'\"))))))), mdx(\"p\", null, \"For the full list of supported values, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://develop.sentry.dev/sdk/event-payloads/\"\n  }), mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Event Payloads\")), \" and linked\\ndocuments.\"), mdx(\"h2\", {\n    \"id\": \"size-limits\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#size-limits\",\n    \"aria-label\": \"size limits permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Size Limits\"), mdx(\"p\", null, \"Event ingestion imposes limits on the size and number of fields in multipart\\nuploads. These limits are subject to future change and defined currently as:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"20MB\"), \" for a compressed minidump request\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"100MB\"), \" for the full body after decompression\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"100MB\"), \" for all files combined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"100MB\"), \" for each file individually\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"1MB\"), \" for event payloads\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#what-is-a-minidump-what-is-a-minidump","title":"What is a Minidump? {#what-is-a-minidump}"},{"url":"#creating-and-uploading-minidumps-minidump-integration","title":"Creating and Uploading Minidumps {#minidump-integration}"},{"url":"#passing-additional-data-minidump-additional","title":"Passing Additional Data {#minidump-additional}"},{"url":"#size-limits","title":"Size Limits"}]},"internal":{"type":"Mdx"}}}},"pageContext":{"excerpt":"Sentry can process Minidump crash reports, a memory dump used on Windows and by\nopen-source libraries like  Breakpad  or  Crashpad . You can either choose to\ngenerate and upload minidumps yourself or use a higher-level SDK for platforms\nwith built-in support for native crashes: Native (C/C++) Apple (Cocoa) Electron In order to receive symbolicated stack traces, you have to upload debug\ninformation to Sentry. For more information, see  Debug Information Files . What is a Minidump? {#what-is-a-minidump} Minidumps are files containing the most important memory regions of a crashed\nprocess. When the process crashes, the minidump is written to the user’s disk\nand can later be uploaded to Sentry. A minidump typically includes: The runtime stack of each thread that was active during the time of the crash.\nThis allows yout to reconstruct stack traces for all stacks and even infer\nvariable values in some cases. Thread contexts -- that is, register values -- at the time of the crash. This\nis especially relevant for stack walking. Optionally, the process heap. By default, this is not included to keep\nminidumps at a reasonable size. Sentry does not read the heap so that it can\nbe safely omitted. The crash reason and an optional memory address associated to with the crash.\nFor example, memory access violations. In the case of assertions, the\nassertion message is also included in the dump. Meta data about the CPU architecture and the user’s operating system. Minidumps are memory dumps of the process at the moment it crashes. As such,\nthey might contain sensitive information on the target system, such as\nenvironment variables, local pathnames or maybe even in-memory representations\nof input fields, including passwords.  Sentry does not store these memory\ndumps . Once processed, they are removed immediately, and all sensitive\ninformation is stripped from the resulting issues. In addition to this information, you can add further metadata specific to\nSentry, which can help in organizing and analyzing issues. For more information,\nsee  Passing Additional Data . Creating and Uploading Minidumps {#minidump-integration} Depending on your operating system and programming language, there are various\nalternatives to create minidumps and upload them to Sentry. See the following\nresources for libraries that support generating minidump crash reports: Native SDK Google Breakpad Google Crashpad If you have already integrated a library that generates minidumps and would just\nlike to upload them to Sentry, you need to configure the  Minidump Endpoint\nURL , which can be found at  Project Settings > Client Keys (DSN) . This\nendpoint expects a  POST  request with the minidump in the\n upload_file_minidump  field: To send additional information, add more form fields to this request. For a full\ndescription of fields accepted by Sentry, see  Passing Additional\nData . Passing Additional Data {#minidump-additional} You can add more information to crash reports by merely adding more fields to\nthe upload HTTP request. All these fields will be collected in the “Extra Data”\nsection in Sentry: Additionally, you can set all attributes corresponding to the Sentry event\ninterface in a  sentry  field. This field either accepts JSON data or its values\ncan be flattened with the bracket syntax. For example, to set the release and\nadd a tag, send: For the full list of supported values, see  Event Payloads  and linked\ndocuments. Size Limits Event ingestion imposes limits on the size and number of fields in multipart\nuploads. These limits are subject to future change and defined currently as: 20MB  for a compressed minidump request 100MB  for the full body after decompression 100MB  for all files combined 100MB  for each file individually 1MB  for event payloads","title":"Minidumps","redirect_from":["/platforms/minidump/","/clients/minidump/"],"platform":{"name":"native","title":"Native"},"guide":{"name":"minidumps","title":"Minidumps"},"id":"7ad8cebb-384e-52a2-aa84-94919844001e"}},"staticQueryHashes":["1218203755","1222113826","1222113826","1766336459","2158593473","2404336828","2472290386","2764967025","3818502851","4015007367","4192517163","4264099332","518019976"]}