Is there any interactive or more user-friendly version of GDB for debugging?











up vote
8
down vote

favorite
1












Is there any interactive or more user-friendly version (or substitution) of GDB for debugging?



Some people suggested CGDB, but after a few tests I found it buggy and unstable.










share|improve this question




























    up vote
    8
    down vote

    favorite
    1












    Is there any interactive or more user-friendly version (or substitution) of GDB for debugging?



    Some people suggested CGDB, but after a few tests I found it buggy and unstable.










    share|improve this question


























      up vote
      8
      down vote

      favorite
      1









      up vote
      8
      down vote

      favorite
      1






      1





      Is there any interactive or more user-friendly version (or substitution) of GDB for debugging?



      Some people suggested CGDB, but after a few tests I found it buggy and unstable.










      share|improve this question















      Is there any interactive or more user-friendly version (or substitution) of GDB for debugging?



      Some people suggested CGDB, but after a few tests I found it buggy and unstable.







      debugging






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited May 5 '11 at 6:29









      Rinzwind

      202k27388521




      202k27388521










      asked May 5 '11 at 5:49









      xzhu

      20726




      20726






















          4 Answers
          4






          active

          oldest

          votes

















          up vote
          8
          down vote



          accepted










          There are multiple graphical frontends for gdb. GNU DDD and KGDB to mention a couple.



          GNU DDD:
          enter image description here



          KGDB:
          enter image description here



          Update: I failed to mention that gdb actually has a built in text-based user interface if you run it with gdb -tui:
          enter image description here






          share|improve this answer






























            up vote
            1
            down vote













            There's a list of gdb frontends at http://sourceware.org/gdb/wiki/GDB%20Front%20Ends



            This unfortunately gives only further links, but no hints about scope and usability which varies a lot there. I'd recommend to use a frontend that is in active development as gdb itself changes a lot.






            share|improve this answer




























              up vote
              0
              down vote













              GDB Dashboard



              https://github.com/cyrus-and/gdb-dashboard



              GDB dashboard uses the GDB Python API and prints the information that you want when GDB stops e.g. after a next, like the native display command.



              Vs TUI:





              • more robust, as it does not put the shell on a more magic curses state, e.g.:





                • vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728

                • program stdout / stderr breaks your interface: https://stackoverflow.com/questions/26291629/gdb-in-tui-mode-how-to-deal-with-stderrs-interaction-with-the-ui




              • highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.



                The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.



                TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)






              I believe that GDB should ship with a setup like that out of the box and turned on by default, it would attract much more users that way.



              See also: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335






              share|improve this answer






























                up vote
                -1
                down vote













                You can try UltraGDB, it is a GDB GUI frontend and lightweight IDE based on Eclipse technology.






                share|improve this answer





















                • Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                  – Al.G.
                  Apr 9 '17 at 8:43











                Your Answer








                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "89"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });














                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f40241%2fis-there-any-interactive-or-more-user-friendly-version-of-gdb-for-debugging%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                4 Answers
                4






                active

                oldest

                votes








                4 Answers
                4






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes








                up vote
                8
                down vote



                accepted










                There are multiple graphical frontends for gdb. GNU DDD and KGDB to mention a couple.



                GNU DDD:
                enter image description here



                KGDB:
                enter image description here



                Update: I failed to mention that gdb actually has a built in text-based user interface if you run it with gdb -tui:
                enter image description here






                share|improve this answer



























                  up vote
                  8
                  down vote



                  accepted










                  There are multiple graphical frontends for gdb. GNU DDD and KGDB to mention a couple.



                  GNU DDD:
                  enter image description here



                  KGDB:
                  enter image description here



                  Update: I failed to mention that gdb actually has a built in text-based user interface if you run it with gdb -tui:
                  enter image description here






                  share|improve this answer

























                    up vote
                    8
                    down vote



                    accepted







                    up vote
                    8
                    down vote



                    accepted






                    There are multiple graphical frontends for gdb. GNU DDD and KGDB to mention a couple.



                    GNU DDD:
                    enter image description here



                    KGDB:
                    enter image description here



                    Update: I failed to mention that gdb actually has a built in text-based user interface if you run it with gdb -tui:
                    enter image description here






                    share|improve this answer














                    There are multiple graphical frontends for gdb. GNU DDD and KGDB to mention a couple.



                    GNU DDD:
                    enter image description here



                    KGDB:
                    enter image description here



                    Update: I failed to mention that gdb actually has a built in text-based user interface if you run it with gdb -tui:
                    enter image description here







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited May 5 '11 at 10:23

























                    answered May 5 '11 at 6:31









                    Egil

                    10.5k23346




                    10.5k23346
























                        up vote
                        1
                        down vote













                        There's a list of gdb frontends at http://sourceware.org/gdb/wiki/GDB%20Front%20Ends



                        This unfortunately gives only further links, but no hints about scope and usability which varies a lot there. I'd recommend to use a frontend that is in active development as gdb itself changes a lot.






                        share|improve this answer

























                          up vote
                          1
                          down vote













                          There's a list of gdb frontends at http://sourceware.org/gdb/wiki/GDB%20Front%20Ends



                          This unfortunately gives only further links, but no hints about scope and usability which varies a lot there. I'd recommend to use a frontend that is in active development as gdb itself changes a lot.






                          share|improve this answer























                            up vote
                            1
                            down vote










                            up vote
                            1
                            down vote









                            There's a list of gdb frontends at http://sourceware.org/gdb/wiki/GDB%20Front%20Ends



                            This unfortunately gives only further links, but no hints about scope and usability which varies a lot there. I'd recommend to use a frontend that is in active development as gdb itself changes a lot.






                            share|improve this answer












                            There's a list of gdb frontends at http://sourceware.org/gdb/wiki/GDB%20Front%20Ends



                            This unfortunately gives only further links, but no hints about scope and usability which varies a lot there. I'd recommend to use a frontend that is in active development as gdb itself changes a lot.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Oct 30 '11 at 0:50









                            yum

                            111




                            111






















                                up vote
                                0
                                down vote













                                GDB Dashboard



                                https://github.com/cyrus-and/gdb-dashboard



                                GDB dashboard uses the GDB Python API and prints the information that you want when GDB stops e.g. after a next, like the native display command.



                                Vs TUI:





                                • more robust, as it does not put the shell on a more magic curses state, e.g.:





                                  • vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728

                                  • program stdout / stderr breaks your interface: https://stackoverflow.com/questions/26291629/gdb-in-tui-mode-how-to-deal-with-stderrs-interaction-with-the-ui




                                • highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.



                                  The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.



                                  TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)






                                I believe that GDB should ship with a setup like that out of the box and turned on by default, it would attract much more users that way.



                                See also: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335






                                share|improve this answer



























                                  up vote
                                  0
                                  down vote













                                  GDB Dashboard



                                  https://github.com/cyrus-and/gdb-dashboard



                                  GDB dashboard uses the GDB Python API and prints the information that you want when GDB stops e.g. after a next, like the native display command.



                                  Vs TUI:





                                  • more robust, as it does not put the shell on a more magic curses state, e.g.:





                                    • vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728

                                    • program stdout / stderr breaks your interface: https://stackoverflow.com/questions/26291629/gdb-in-tui-mode-how-to-deal-with-stderrs-interaction-with-the-ui




                                  • highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.



                                    The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.



                                    TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)






                                  I believe that GDB should ship with a setup like that out of the box and turned on by default, it would attract much more users that way.



                                  See also: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335






                                  share|improve this answer

























                                    up vote
                                    0
                                    down vote










                                    up vote
                                    0
                                    down vote









                                    GDB Dashboard



                                    https://github.com/cyrus-and/gdb-dashboard



                                    GDB dashboard uses the GDB Python API and prints the information that you want when GDB stops e.g. after a next, like the native display command.



                                    Vs TUI:





                                    • more robust, as it does not put the shell on a more magic curses state, e.g.:





                                      • vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728

                                      • program stdout / stderr breaks your interface: https://stackoverflow.com/questions/26291629/gdb-in-tui-mode-how-to-deal-with-stderrs-interaction-with-the-ui




                                    • highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.



                                      The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.



                                      TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)






                                    I believe that GDB should ship with a setup like that out of the box and turned on by default, it would attract much more users that way.



                                    See also: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335






                                    share|improve this answer














                                    GDB Dashboard



                                    https://github.com/cyrus-and/gdb-dashboard



                                    GDB dashboard uses the GDB Python API and prints the information that you want when GDB stops e.g. after a next, like the native display command.



                                    Vs TUI:





                                    • more robust, as it does not put the shell on a more magic curses state, e.g.:





                                      • vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728

                                      • program stdout / stderr breaks your interface: https://stackoverflow.com/questions/26291629/gdb-in-tui-mode-how-to-deal-with-stderrs-interaction-with-the-ui




                                    • highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.



                                      The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.



                                      TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)






                                    I believe that GDB should ship with a setup like that out of the box and turned on by default, it would attract much more users that way.



                                    See also: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335







                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited Dec 8 at 21:24

























                                    answered Jul 12 at 9:21









                                    Ciro Santilli 新疆改造中心 六四事件 法轮功

                                    9,07444246




                                    9,07444246






















                                        up vote
                                        -1
                                        down vote













                                        You can try UltraGDB, it is a GDB GUI frontend and lightweight IDE based on Eclipse technology.






                                        share|improve this answer





















                                        • Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                          – Al.G.
                                          Apr 9 '17 at 8:43















                                        up vote
                                        -1
                                        down vote













                                        You can try UltraGDB, it is a GDB GUI frontend and lightweight IDE based on Eclipse technology.






                                        share|improve this answer





















                                        • Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                          – Al.G.
                                          Apr 9 '17 at 8:43













                                        up vote
                                        -1
                                        down vote










                                        up vote
                                        -1
                                        down vote









                                        You can try UltraGDB, it is a GDB GUI frontend and lightweight IDE based on Eclipse technology.






                                        share|improve this answer












                                        You can try UltraGDB, it is a GDB GUI frontend and lightweight IDE based on Eclipse technology.







                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered Jun 12 '15 at 0:33









                                        Xiao Ming

                                        1




                                        1












                                        • Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                          – Al.G.
                                          Apr 9 '17 at 8:43


















                                        • Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                          – Al.G.
                                          Apr 9 '17 at 8:43
















                                        Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                        – Al.G.
                                        Apr 9 '17 at 8:43




                                        Just checked their github repo; has not been updated since June 2015. Doesn't seem very trust-worthy.
                                        – Al.G.
                                        Apr 9 '17 at 8:43


















                                        draft saved

                                        draft discarded




















































                                        Thanks for contributing an answer to Ask Ubuntu!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.





                                        Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                                        Please pay close attention to the following guidance:


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f40241%2fis-there-any-interactive-or-more-user-friendly-version-of-gdb-for-debugging%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        How did Captain America manage to do this?

                                        迪纳利

                                        南乌拉尔铁路局