Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map/Set in .natvis files #20

Open
AlexEne opened this issue Jul 5, 2019 · 2 comments
Open

Map/Set in .natvis files #20

AlexEne opened this issue Jul 5, 2019 · 2 comments
Assignees

Comments

@AlexEne
Copy link
Member

AlexEne commented Jul 5, 2019

I am going to open this issue here as this wg probably has most members using windows so I think this can be tracked by us for now until someone starts actual work on it.

.natvis files don't support map and set data structures and it would be a great addition if they did have a nice debug visualizer for them.

If someone from this wg wants to pick it up then that would be great, if not I am considering setting up a bounty for it.

@MaulingMonkey
Copy link

Some existing upstream issues for cross referencing:

@MaulingMonkey
Copy link

MaulingMonkey commented Jul 29, 2019

Existing stdlib natvis files - any new files dropped in here should be automatically picked up by rustc (EDIT: this is no longer true, see the linked PR for where to manually list natvis files so they get bundled!) and added to the pdbs of rust programs built using MSVC toolchains:

To avoid regressions, I recommend adding unit tests to verify your .natvis files work after you've gotten them working. Example here for Vec and String:

To run those unit tests, aside from all the usual setup for contributing to rustc, you'll also want the debugging tools from the Windows SDK ( https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk ) or similar.

bors added a commit to rust-lang/rust that referenced this issue Nov 23, 2019
…r=michaelwoerister

debuginfo:  Support for std::collections::Hash* in windows debuggers.

Okay, I finally needed to debug code involving a HashMap!  Added support for HashSet s as well.

r? @michaelwoerister

### Local Testing

Verified these are passing locally:
```cmd
:: cmd.exe
python x.py test --stage 1 --build x86_64-pc-windows-msvc src/test/debuginfo
python x.py test --stage 1 --build i686-pc-windows-msvc src/test/debuginfo
python x.py test --stage 1 src/tools/tidy

:: MinGW MSYS2
./x.py test --stage 1 --build x86_64-pc-windows-gnu src/test/debuginfo
```

### Related Issues

* #36503
* #40460
* rust-gamedev/wg#20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants