[Development] [Windows] State of the Qt6 natvis file

Nicolas Arnaud-Cormos nicolas.arnaud-cormos at kdab.com
Fri Feb 21 16:40:40 CET 2025


Hi everyone,

On Windows, for those using Visual Studio or VS Code with MSVC compiler, 
the only way to see anything sensible when debugging is to use a natvis 
file.

This natvis file is currently embedded into the VsTools extension for 
Visual Studio, here:
https://github.com/qt-labs/vstools/blob/dev/QtVsTools.Package/qt6.natvis.xml

If you use Visual Studio, and use the extension, you normally have 
nothing to do as it will be deployed for you.

Unfortunately, I see some issues here:
1) The file is really behind (the Qt5 one was better IMO), and there's 
no real contributions to it, but rather external ones like:
https://github.com/aleksey-nikolaev/natvis-collection/blob/master/QJson.natvis
2) You can't just copy and use the file because of the "##NAMESPACE##:: 
everywhere
3) If you use VSCode, you have to embed it in the project

As a VSCode user, I'm doing 3), but it's not really any better as I'm 
missing any updates on it.
I know there's now a Qt VSCode extension, with the natvis file 
integrated too, but I couldn't get it to work properly.

I think a better solution would be to have the natvis files embedded 
into the pdb on Windows, for multiple reasons:
- no need to set a natvis file on VSCode or VS for those not using the 
extension,
- in case of internal changes for the Qt classes, we could adapt the 
file and ty it to a specific Qt version,
- slightly more visible place for people to contribute.

Another solution, at least better than right now, would be to have a 
repo for the natvis, that could be used by both the VsTools extension 
and the VSCode extension.
Not my best choice, but at least it will give a better visibility to it 
and reduce the pain to contributions.

Thoughts?

Thanks,
Nicolas

-- 
Nicolas Arnaud-Cormos | Senior Software Engineer & Teamlead
KDAB (France) S.A.S., a KDAB Group company
Tel: France +33 (0)4 90 84 08 53,https://www.kdab.com
KDAB - Trusted Software Excellence
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20250221/f2c4d095/attachment.htm>


More information about the Development mailing list