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:a24:3a0d:: with SMTP id m13mr2946932itm.34.1554524747270; Fri, 05 Apr 2019 21:25:47 -0700 (PDT) X-Received: by 2002:aca:61d6:: with SMTP id v205mr9227568oib.122.1554524746996; Fri, 05 Apr 2019 21:25:46 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!136no175221itk.0!news-out.google.com!r82ni263ita.0!nntp.google.com!136no175219itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 5 Apr 2019 21:25:46 -0700 (PDT) In-Reply-To: <3db67a14-6509-4222-a89e-3dcaa4fbf712@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=101.164.108.182; posting-account=wavAeAoAAAAZF_sXSZepBukuPCBO0Zqt NNTP-Posting-Host: 101.164.108.182 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> <3db67a14-6509-4222-a89e-3dcaa4fbf712@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Intervention needed? From: alby.gamper@gmail.com Injection-Date: Sat, 06 Apr 2019 04:25:47 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56085 Date: 2019-04-05T21:25:46-07:00 List-Id: On Saturday, April 6, 2019 at 12:38:57 PM UTC+11, Jere wrote: > 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 probabl= y 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= than with any other form of test automation. Note that as with anything el= se in software, recurring problems can be mitigated by additional code. Tha= t is, if testing this way is difficult, then the difficulty is similar for = the whole class of similar tests and as such that difficulty can be refacto= red away to additional utility (library/framework/etc.) with simpler (highe= r-level) interface. > > >=20 > > > > especially if the scripts=20 > > > > should be robust to evolution of the SW under test (changing the li= ne=20 > > > > numbers of the required breakpoints, etc.) > > >=20 > > > This is a wider problem of traceability. You have to solve this probl= em anyway for the coverage analysis, for example. And the solution, whateve= r you happen to use (like tool-readable labels in source comments), will he= lp with debugging, too. > > >=20 > > > In any case, yes, some projects need the debugger to test individual = memory 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= not working one. > >=20 > > Which features do you consider as missing in GDB regarding GNAT Ada tha= t make GDB non-ideal? >=20 > 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 real= ly > handy for debugging. It was a very handy and visual way to map out memor= y > 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. Has anyone tried the debugging support in VisualAda. It supports both GDB v= ia the MI interface and if you opt in to use the MS linker, you can also use t= he native MS debugger. Both options support setting breakpoints, view/change symbols/variables, et= c.. Note the native debugger will also present the internal symbols/variables, = not sure if this is a good or a bad thing?.=20 One of the enhancements that I plan for the next release is adding some deb= ug visualizers for types such as strings and unbounded strings, which by defau= lt are not presented / shown in a user friendly manner Suggestions on other improvements are welcome Alex