{"id":19665975,"url":"https://github.com/microsoftedge/edge-devtools-crash-analyzer-support","last_synced_at":"2025-04-28T22:31:35.237Z","repository":{"id":168379969,"uuid":"643022693","full_name":"MicrosoftEdge/edge-devtools-crash-analyzer-support","owner":"MicrosoftEdge","description":"Enables un-minification of call stacks in the Microsoft Edge DevTools Crash Analyzer tool","archived":false,"fork":false,"pushed_at":"2024-04-30T20:17:40.000Z","size":46,"stargazers_count":5,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-20T08:44:58.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MicrosoftEdge.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-19T22:32:10.000Z","updated_at":"2024-12-17T04:54:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"a30eccac-129e-477f-a271-23d58269f204","html_url":"https://github.com/MicrosoftEdge/edge-devtools-crash-analyzer-support","commit_stats":null,"previous_names":["microsoftedge/edge-devtools-crash-analyzer-support"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicrosoftEdge%2Fedge-devtools-crash-analyzer-support","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicrosoftEdge%2Fedge-devtools-crash-analyzer-support/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicrosoftEdge%2Fedge-devtools-crash-analyzer-support/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicrosoftEdge%2Fedge-devtools-crash-analyzer-support/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MicrosoftEdge","download_url":"https://codeload.github.com/MicrosoftEdge/edge-devtools-crash-analyzer-support/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251397615,"owners_count":21583042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T16:25:44.196Z","updated_at":"2025-04-28T22:31:32.068Z","avatar_url":"https://github.com/MicrosoftEdge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crash Analyzer Support\n\nThis package enables your application to produce stack traces in a host that supports the\n[V8 stack trace API](https://v8.dev/docs/stack-trace-api) which can be decoded using the Microsoft Edge Crash Analyzer\nexperimental tool. This tool uses the Symbol Server integration in Microsoft Edge DevTools, plus Enhanced\nUnminification, to provide a way both to view an unminified call stack, and to see the original source. This\nfunctionality is based on using TypeScript as the source code language.\n\n## Example\n\nThis is an error we have tracked from Microsoft Edge:\n\n```\nRangeError: Maximum call stack size exceeded\n    at new q (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:38478)\n    at K.createEdge(devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:32931)\n    at G.edge (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:6912)\n    at G.name (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:6267)\n    at f (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:30931)\n    at devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:31513\n    at devtools://devtools/bundled/core/platform/platform.js:1:330\n    at r (devtools://devtools/bundled/core/platform/platform.js:1:376)\n    at r (devtools://devtools/bundled/core/platform/platform.js:1:425)\n    at r (devtools://devtools/bundled/core/platform/platform.js:1:425)\n\nSource modules:\n    devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js 9e8af998e1e1bbdb3ede85775d2c64825ccaff4b835c8b4238f10952b3890144\n    devtools://devtools/bundled/core/platform/platform.js 9a35dc3d31ba75643a6248e885e91caf800e4a293284695d1e96ab519dc563b2\n```\n\nAfter connecting to Symbol Server, this can be unminified to:\n\n```\nRangeError: Maximum call stack size exceeded\n    at constructor for JSHeapSnapshotEdge (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/HeapSnapshot_edge.ts:2767:5)\n    at K.createEdge(devtools://devtools/bundled/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js:1:32931)\n    at HeapSnapshotRetainerEdge.edge (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/HeapSnapshot_edge.ts:256:42)\n    at HeapSnapshotRetainerEdge.name (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/HeapSnapshot_edge.ts:208:17)\n    at compareEdgeFieldName (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/HeapSnapshot_edge.ts:2156:17)\n    at compareNodeAndEdge (devtools://devtools/bundled/entrypoints/heap_snapshot_worker/HeapSnapshot_edge.ts:2199:18)\n    at partition (devtools://devtools/bundled/core/platform/array-utilities.ts:37:9)\n    at quickSortRange (devtools://devtools/bundled/core/platform/array-utilities.ts:53:25)\n    at quickSortRange (devtools://devtools/bundled/core/platform/array-utilities.ts:55:5)\n    at quickSortRange (devtools://devtools/bundled/core/platform/array-utilities.ts:55:5)\n```\n\nYou can see that this is already a substantial improvement. But if your source code is additionally included in your\nsource maps, Edge DevTools can also display your original source in the Sources tool and highlight the line indicated\nby the mapped location.\n\n# Requirements\n\nThis library requires a Chromium-based browser at version 101 or newer, or Node.js version 19 or newer. It can be used\nin other environments, but will have no effect.\n\n# Usage\n\nHow you obtain one of these stack traces is up to you. Many telemetry libraries such as Azure App Insights can capture\nunhandled error information from your JavaScript applications. In the [web](./demo/web) and [Node.js](./demo/node)\nexamples, we illustrate listening to `window.onerror` or `process.on('uncaughtException')` events, or their\ncorresponding `Promise`-based events, respectively.\n\nOnce you have a call stack with the `Source modules` section, copy it into your Edge DevTools Crash Analyzer tool, and\npress Ctrl+Enter or click the Analyze button. More information about using the Crash Analyzer tool can be found in the\n[Microsoft Edge documentation](https://go.microsoft.com/fwlink/?linkid=2228026\u0026clcid=0x409).\n\nOne note: Crash Analyzer requires that your source maps must be accessible from DevTools. That means that they either\nmust have already been cached (loaded, for example, by a `sourceMappingURL` comment) or via Symbol Server. You can\nlearn more about making your source maps securely available via Symbol Server [here](https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/javascript/publish-source-maps-to-azure).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoftedge%2Fedge-devtools-crash-analyzer-support","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoftedge%2Fedge-devtools-crash-analyzer-support","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoftedge%2Fedge-devtools-crash-analyzer-support/lists"}