Skip to content

Commit

Permalink
Add sample CodeLLDB launch.json (rust-lang#1482)
Browse files Browse the repository at this point in the history
* Add sample CodeLLDB launch.json

There is a section with [instructions for setting up source analyzer in VSCode](https://rustc-dev-guide.rust-lang.org/building/suggested.html#configuring-rust-analyzer-for-rustc), but
nothing for setting up debugging with CodeLLDB.  This adds a sample configuration
that may not be ideal, but appears to work for me.

To source highlight the snippet, uses JavaScript instead of JSON so that comments
do not show up as errors highlighted in red (VSCode allows comments).

* Update src/compiler-debugging.md

Co-authored-by: jyn <github@jyn.dev>

* Update src/compiler-debugging.md

Co-authored-by: jyn <github@jyn.dev>

---------

Co-authored-by: Santiago Pastorino <spastorino@gmail.com>
Co-authored-by: jyn <github@jyn.dev>
  • Loading branch information
3 people authored Feb 15, 2023
1 parent aba825c commit 1827e0c
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/compiler-debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,3 +341,37 @@ error: aborting due to previous error
```

[`Layout`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/abi/struct.Layout.html


## Configuring CodeLLDB for debugging `rustc`

If you are using VSCode, and have edited your `config.toml` to request debugging
level 1 or 2 for the parts of the code you're interested in, then you should be
able to use the [CodeLLDB] extension in VSCode to debug it.

Here is a sample `launch.json` file, being used to run a stage 1 compiler direct
from the directory where it is built (does not have to be "installed"):

```javascript
// .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Launch",
"args": [], // array of string command-line arguments to pass to compiler
"program": "${workspaceFolder}/build/TARGET/stage1/bin/rustc",
"windows": { // applicable if using windows
"program": "${workspaceFolder}/build/x86_64-pc-windows-msvc/stage1/bin/rustc.exe"
},
"cwd": "${workspaceFolder}", // current working directory at program start
"stopOnEntry": false,
"sourceLanguages": ["rust"]
}
]
}
```

[CodeLLDB]: https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb

0 comments on commit 1827e0c

Please sign in to comment.