-
Notifications
You must be signed in to change notification settings - Fork 281
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: initial DWARF debugger integration
Enables stepping around and setting breakpoints in native code. Variables represenation is still a todo, and this needs some polish. It refactors the `Source.sourceMap` into a more generic location provider, which may be backed by the new IWasmSymbols interface. This then talks to the DWARF debugger. The SourceContainer's `_sourceMaps` are also now just folded into the `Source.sourceMap`; that information was duplicate and the only benefit was deduplication if two sources had the same sourcemap, but this is really rare. This also made all location mapping asynchronous, so there were a few refactors around there, too. It also refactors how I implemented WAT (text format decompilation) last iteration. That previously "pretended" the source of the WASM was WAT, but this caused issues because the location transformation we did on the scripts is done before location mapping. So instead, the WAT is an extra fake 'file' in the symbols and we resolve any unknown locations into the WAT file. One that that _doesn't_ work yet is entrypoint breakpoints for wasm, which means that breakpoints set before the debug session starts may be missed. I have a thread out to the Chromium folks to see if there's a solution to this. For #1789
- Loading branch information
1 parent
65f087c
commit 676e7e7
Showing
27 changed files
with
1,307 additions
and
867 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
18 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.