Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. Qt Contribution
  4. can't debug hand-built Qt Frameworks

can't debug hand-built Qt Frameworks

Scheduled Pinned Locked Moved Unsolved Qt Contribution
32 Posts 2 Posters 5.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    davecotter
    wrote on 30 Jun 2021, 15:31 last edited by davecotter
    #18

    perhaps i can be more clear in my question.

    1. what would you recommend for "meaningful names" ?
    2. what name would you recommend in place of where i used "obj" ?
    3. instead of using "feature" to include only the features i want, you suggest using "skip" to skip the features i do not want. how do i get a list of features that can go into "skip", and how do i know which ones i want to include on the "skip" line?
    1 Reply Last reply
    0
    • D Offline
      D Offline
      davecotter
      wrote on 30 Jun 2021, 19:12 last edited by
      #19

      pretty please? with <insert favorite indulgence> on top?

      1 Reply Last reply
      0
      • S Offline
        S Offline
        SGaist
        Lifetime Qt Champion
        wrote on 30 Jun 2021, 19:31 last edited by SGaist
        #20
        1. use the Qt version in the name of folder. for example Qt_5_15_2_devel_build
        2. at least the Qt version as above.
        3. you are mixing modules and features. These are separate concepts. Skip everything you do not want to build.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • D Offline
          D Offline
          davecotter
          wrote on 1 Jul 2021, 04:22 last edited by davecotter 7 Jan 2021, 04:25
          #21

          while i reiterate that i am very grateful for your continuing to try to help, i still would more appreciate explicit instructions, rather than hints.

          i understand the socratic method, to answer a question with a question, to make me think, to hope to teach, to leave some to the student to try to figure out. sure. that has its place. but i think we could (i could) get a lot more done in a day if you could help by giving a concrete example. also you wouldn't have to keep coming back and giving me more hints. :) save us both some time.

          so... i did take your hints and i've run as far as i can with them. i've tried to make MY directory layout look just like the one that comes with Qt Creator. My new commands are this:

          > cd <path_to>/Qt5_Source
          > git clone git://code.qt.io/qt/qt5.git
          > mv ./qt5 ./Src
          > cd Src
          > git checkout 5.15.2
          > perl init-repository --module-subset=default,-qtwebchannel,-qtwebengine,-qtwebglplugin,-qtwebsockets,-qtwebview,-qt3d,-qtcharts,-qtquick3d,-qtquickcontrols,-qtquickcontrols2,-qtquicktimeline
          > cd ..
          > mkdir build
          > cd build
          > ../Src/configure -prefix ../clang_64 -force-debug-info -debug-and-release -opensource -nomake examples -nomake tests -confirm-license
          > make -j12
          > make install
          

          so, even though i did -force-debug-info and -debug-and-release, the .../Qt5_Source/clang_64/lib directory still does NOT contain any debug info files (.dSYM).

          so my original question still is posed: how do i debug these guys?

          again i BEG you: if any of my commands above are WRONG, please provide CORRECTED examples, not hints. as you can see, i'm NOT GOOD at deciphering hints, i much prefer instructions.

          note that an end goal will be to have "qt.pro" (or whatever the right project(s) are) as a depencency of my own project, such that, in Qt Creator, i can edit code in any of the Qt Frameworks, and just hit run, and it will compile and stage the Qt stuff, then compile and link my project to that, and run my project.

          thanks so much!

          -dave

          ps: unfortunately, also this happened after make install assembled a lot of stuff into bin:

          cd qhelpgenerator/ && ( test -e Makefile || /Volumes/Developer/depot/Qt5_Source/build/qtbase/bin/qmake -o Makefile /Volumes/Developer/depot/Qt5_Source/Src/qttools/src/assistant/qhelpgenerator/qhelpgenerator.pro ) && /Applications/Xcode_10.3.app/Contents/Developer/usr/bin/make -f Makefile install
          
          make[4]: *** No rule to make target `install'.  Stop.
          make[3]: *** [sub-qhelpgenerator-install_subtargets] Error 2
          make[2]: *** [sub-assistant-install_subtargets] Error 2
          make[1]: *** [sub-src-install_subtargets] Error 2
          make: *** [module-qttools-install_subtargets] Error 2
          
          1 Reply Last reply
          0
          • D Offline
            D Offline
            davecotter
            wrote on 1 Jul 2021, 18:47 last edited by
            #22

            okay, so after some more testing i see that i CAN in fact, now debug, and set breakpoints within the Qt code base. This is true even though i do not see any ".dSYM" files.

            so this question is answered. thanks so much for your help. :D

            not sure why QHelpGenerator failed to build, or what the consequences are, if any. if you have any ideas on that please let me know.

            (also i apologize if helping me was frustrating, i'm doing my best and sometimes i have a hard time understanding stuff. but seems i got it in the end.)

            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 2 Jul 2021, 18:57 last edited by
              #23

              AFAIR (but might be wrong), the .dSYM file are generated when you do a "release with debug symbol" build.

              I do not know for QHelpGenerator, the failure source is upper in the build log.

              Glad you can debug as you wish :-)

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • D Offline
                D Offline
                davecotter
                wrote on 2 Jul 2021, 19:03 last edited by
                #24

                and how does one do a "release with debug symbols" build?

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 2 Jul 2021, 19:07 last edited by
                  #25

                  If memory serves well, something like "-release -force-debug-info".

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    davecotter
                    wrote on 2 Jul 2021, 20:38 last edited by
                    #26

                    if i do -release does that mean i do NOT do -debug-and-release? ie: are they mutually exclusive?

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 4 Jul 2021, 19:36 last edited by
                      #27

                      I do not remember which one takes precedents over the other. You can try to mix debug-and-release with force-bebug-info.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        davecotter
                        wrote on 4 Jul 2021, 20:08 last edited by davecotter 7 Apr 2021, 20:09
                        #28

                        My final commands were:

                        cd /Volumes/Developer/depot/Qt5_Source
                        git clone git://code.qt.io/qt/qt5.git
                        mv ./qt5 ./Src
                        cd Src
                        git checkout 5.15.2
                        perl init-repository --module-subset=default,-qtwebengine,-qt3d,-qtcharts,-qtquick3d,-qtquickcontrols,-qtquickcontrols2,-qtquicktimeline
                        cd ..
                        mkdir build
                        cd build
                        ../Src/configure -prefix ../clang_64 -force-debug-info -separate-debug-info -debug-and-release -opensource -nomake examples -nomake tests -confirm-license
                        make -j12
                        make -j1 install
                        

                        no errors, and i had separate debug .dSYM files. haven't tested release yet.

                        By the way it took almost a week, half a dozen web pages, and almost two dozen back-and-forth replies in the forums to arrive at the above formula.

                        The fact that there is no such example just posted on the documentation web site is just stunning to me.

                        :)

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          davecotter
                          wrote on 4 Jul 2021, 21:21 last edited by davecotter 7 Apr 2021, 22:25
                          #29

                          i take it back. now, all i did was change two strings in one file:
                          in the file avfvideorenderercontrol.mm i changed line 273 to read:

                          qWarning("Failed to activate video surface (OpenGL)");
                          

                          and changed line 298 to read:

                          qWarning("Failed to activate video surface (QImage)");
                          

                          Previously, they both had the same warning, so you could not know which one was hit by just seeing the console output.

                          then, i tried to compile that one module:

                          cd /Volumes/Developer/depot/Qt5_Source/build/qtmultimedia/src/plugins/avfoundation
                          make -j12
                          make install
                          

                          and it SEEMED to do SOMETHING, no errors.
                          but now when i run my app, i can't make ANY breakpoints resolve, and the warning, when fired, does NOT contain my updated string.

                          i even then tried to make then make install from the root, but same problem: breakpoints don't resolve, can't debug into Qt frameworks :(

                          just FYI i have edited my kit->environment to have this line:

                          DYLD_IMAGE_SUFFIX=_debug
                          

                          but that didn't help

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on 5 Jul 2021, 19:28 last edited by
                            #30

                            Is this your developer build ? If so there's no need to call make install.

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              davecotter
                              wrote on 6 Jul 2021, 15:13 last edited by
                              #31

                              okay but is there a reason i should NOT call make install? i did make install the first time, when debugging DID work fine. it only stopped after i modified a file. does calling make install break something? besides i was under the impression i was building both debug and release?

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on 6 Jul 2021, 18:58 last edited by
                                #32

                                AFAIK, it should not.

                                Did you try to do a clean rebuild ?

                                Interested in AI ? www.idiap.ch
                                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                1 Reply Last reply
                                0

                                27/32

                                4 Jul 2021, 19:36

                                • Login

                                • Login or register to search.
                                27 out of 32
                                • First post
                                  27/32
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved