XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Not Evaluated
    • 2.9.0, 2.9.1
    • 2.8.1 (rev.06)
    • General
    • None
    • Windows
    • b282cd2bbbd44acd46303a3a31a6daafc703728d

    Description

      the plugin creates two natvis files, one for qt5 and one for qt6.

      there are two problems with this approach:

      1. both files contain many of the same <Type> entries. this causes VS to act very slow when hitting a breakpoint that has a lot of qt stuff in the callstack and many qt related objects/variables in the area of the breakpoint
      2. since the files are not identical but have many of the same <Type> entries, VS has to decide which ones to use. Unfortunately (for me), it uses the qt6 one, but I'm still using qt5 - so I get a wrong (or no) natvis entry.

      enabling the verbose output of natvis in VS shows this (just one example of an output while hitting a breakpoint):

      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5): Warning: Conflicting <Type> entries detected for type 'QPoint' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(34,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5): Warning: Conflicting <Type> entries detected for type 'QPointF' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(34,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(58,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(67,5): Warning: Conflicting <Type> entries detected for type 'QRect' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(43,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(67,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(67,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(77,5): Warning: Conflicting <Type> entries detected for type 'QRectF' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(53,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(77,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(77,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5): Warning: Conflicting <Type> entries detected for type 'QSize' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(63,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5): Warning: Conflicting <Type> entries detected for type 'QSizeF' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(63,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(87,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5): Warning: Conflicting <Type> entries detected for type 'QLine' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(72,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5): Warning: Conflicting <Type> entries detected for type 'QLineF' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(72,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(96,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(116,5): Warning: Conflicting <Type> entries detected for type 'QPolygon' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(92,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(116,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(116,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(127,5): Warning: Conflicting <Type> entries detected for type 'QPolygonF' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(103,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(127,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(127,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(145,6): Warning: Conflicting <Type> entries detected for type 'QVector2D' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(121,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(145,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(145,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(153,6): Warning: Conflicting <Type> entries detected for type 'QVector3D' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(129,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(153,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(153,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(162,6): Warning: Conflicting <Type> entries detected for type 'QVector4D' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(138,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(162,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(162,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(172,6): Warning: Conflicting <Type> entries detected for type 'QMatrix' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(148,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(172,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(172,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(186,6): Warning: Conflicting <Type> entries detected for type 'QMatrix4x4' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(162,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(186,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(186,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(210,5): Warning: Conflicting <Type> entries detected for type 'QSizePolicy' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(186,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(210,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(210,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(241,5): Warning: Conflicting <Type> entries detected for type 'QChar' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(217,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(241,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(241,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(250,5): Warning: Conflicting <Type> entries detected for type 'QString' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(226,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(250,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(250,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(262,5): Warning: Conflicting <Type> entries detected for type 'QByteArray' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(239,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(262,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(262,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(274,6): Warning: Conflicting <Type> entries detected for type 'QUrl' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(252,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(274,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(274,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(302,6): Warning: Conflicting <Type> entries detected for type 'QDate' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(306,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(302,6)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(302,6)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(306,5): Warning: Conflicting <Type> entries detected for type 'QTime' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(311,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(306,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(306,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(333,5): Warning: Conflicting <Type> entries detected for type 'QPair<,>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(399,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(333,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(333,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5): Warning: Conflicting <Type> entries detected for type 'QList<*>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(419,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5): Warning: Conflicting <Type> entries detected for type 'QVector<*>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(407,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(341,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(352,5): Warning: Conflicting <Type> entries detected for type 'QVarLengthArray<*>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(294,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(352,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(352,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5): Warning: Conflicting <Type> entries detected for type 'QMap<,>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(485,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5): Warning: Conflicting <Type> entries detected for type 'QMultiMap<,>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(485,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(363,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5): Warning: Conflicting <Type> entries detected for type 'QHash<,>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(510,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5): Warning: Conflicting <Type> entries detected for type 'QMultiHash<,>' at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt5.natvis(510,6)' and 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5)'. The <Type> entry at 'C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(371,5)' will have priority.
      Natvis: C:\Users\me\Documents\Visual Studio 2022\Visualizers\qt6.natvis(251,26): Error: class "QTypedArrayData<unsigned short>" has no member "ptr"
      ?? Error while evaluating '(reinterpret_cast<unsigned short*>(d.ptr)),sub' in the context of type 'const my.exe!QString'.??

      please only create the natvis file that corresponds to the qt version used. Or at least provide a way to configure which one to use

      Attachments

        For Gerrit Dashboard: QTVSADDINBUG-996
        # Subject Branch Project Status CR V

        Activity

          People

            heimrich Karsten Heimrich
            stefank Stefan Küng
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes