From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a6b:7614:: with SMTP id g20mr2833743iom.14.1554514735653; Fri, 05 Apr 2019 18:38:55 -0700 (PDT) X-Received: by 2002:a05:6830:8:: with SMTP id c8mr11219260otp.209.1554514735487; Fri, 05 Apr 2019 18:38:55 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.166.216.MISMATCH!136no162399itk.0!news-out.google.com!r82ni237ita.0!nntp.google.com!136no162397itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 5 Apr 2019 18:38:55 -0700 (PDT) In-Reply-To: <2252d440-e11e-4afb-8a69-207c531c0846@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.109.61.2; posting-account=QF6XPQoAAABce2NyPxxDAaKdAkN6RgAf NNTP-Posting-Host: 70.109.61.2 References: <1e27ce78-217d-4adc-8380-30f6d4fc5fdc@googlegroups.com> <878swq2q1m.fsf@nightsong.com> <1352f43a-e549-4ddd-8e67-2e1c2ca25395@googlegroups.com> <2252d440-e11e-4afb-8a69-207c531c0846@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <3db67a14-6509-4222-a89e-3dcaa4fbf712@googlegroups.com> Subject: Re: Intervention needed? From: Jere Injection-Date: Sat, 06 Apr 2019 01:38:55 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56083 Date: 2019-04-05T18:38:55-07:00 List-Id: On Friday, April 5, 2019 at 11:17:55 AM UTC-4, Optikos wrote: > On Friday, April 5, 2019 at 1:45:20 AM UTC-4, Maciej Sobczak wrote: > > > As gdb can be scripted, the tests that Maciej describes can probably = be=20 > > > automated, > >=20 > > Yes. > >=20 > > > albeit with considerable effort, > >=20 > > Not really. I would say there is no need for this effort to be higher t= han with any other form of test automation. Note that as with anything else= in software, recurring problems can be mitigated by additional code. That = is, if testing this way is difficult, then the difficulty is similar for th= e whole class of similar tests and as such that difficulty can be refactore= d away to additional utility (library/framework/etc.) with simpler (higher-= level) interface. > >=20 > > > especially if the scripts=20 > > > should be robust to evolution of the SW under test (changing the line= =20 > > > numbers of the required breakpoints, etc.) > >=20 > > This is a wider problem of traceability. You have to solve this problem= anyway for the coverage analysis, for example. And the solution, whatever = you happen to use (like tool-readable labels in source comments), will help= with debugging, too. > >=20 > > In any case, yes, some projects need the debugger to test individual me= mory locations. The lack of proper tools is a technology risk. > >=20 > > > However, I don't think that gdb or other current debuggers are=20 > > > ideal tools for automated checking of internal states. > >=20 > > They are not. But a non-ideal working debugger is still better than a n= ot working one. >=20 > Which features do you consider as missing in GDB regarding GNAT Ada that = make GDB non-ideal? I can't speak for GDB specifically, but at some point (2015 maybe?) they redid the GUI interface in GPS to the debugger and it became completely=20 unintuitive for me. The few times I have had to debug Ada code involved access types and manual memory management. They used to have a really good interface that would visually display records and fields, and when I clicked on an access type variable, it would pop open another box with the record that variable pointed to. For custom containers this was really handy for debugging. It was a very handy and visual way to map out memory for those rarer times I had to actually manage it. Now I just use my Smart_Access packages (once they fixed the GNAT bugs), though I still=20 don't expose those to clients.