-
Notifications
You must be signed in to change notification settings - Fork 261
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
MSVC debugger natvis file #1078
Comments
I'm not familiar at all with this format. Can you provide some input on it, and provide information about how to keep it in sync if the source, if it makes sense? |
Sure, although I am not certain how doable is it.
E.g. for
Still, MSVC provides built-in view for it so elements are exposed on top-level foldout: For So there are 2 problems: user have to expand few foldouts to see the data. And he also have to be aware what data is stored in the register (union). For working examples, see in MR description. About .natvis format: I found it very tricky to get anything going. Technically, you can specify any operation that is valid in the MSVC C++ debugger, that is not much: arithmetics, pointer operations and pointer casting [2]. It can access This is .natvis reference page: https://learn.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2022 E.g. in case Later it has defined
I know all of it is compiler-specific and based on [1] Same for majority of STL containers |
Oh, there's a similar approach in gdb, with python bindings to prettify data
structures, that would indeed be nice to have.
In gdb, it's pretty straight forward to write a small validation script that
starts gdb, breakpoints, dump the content of some variable and we can assert
that the output is as pretty as expected. Would that be possible with msvc
debugger?
|
I've recently started using xsimd and for sake of my sanity I came up with .nativs file (MSVC Debugger format file), which flattens xsimd batches in view/preview.
Views for
batch
,batch_bool
,batch_constant
andbatch<complex>
should simply work. I've checked them foravx
andavx512bw
.I guess I will still tweak it, but might as well share it already.
If you are open into adding .nativs to repo, I can prepare PR later.
batch int
batch complex
batch constant
batch bool
xsimd.natvis
The text was updated successfully, but these errors were encountered: