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:a02:8209:: with SMTP id o9mr3298382jag.15.1554539070423; Sat, 06 Apr 2019 01:24:30 -0700 (PDT) X-Received: by 2002:a9d:7845:: with SMTP id c5mr11591701otm.6.1554539070137; Sat, 06 Apr 2019 01:24:30 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!136no193254itk.0!news-out.google.com!r82ni288ita.0!nntp.google.com!136no193252itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 6 Apr 2019 01:24:29 -0700 (PDT) In-Reply-To: <490dc520-b858-4e7e-b1b6-2ada86737e03@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> <490dc520-b858-4e7e-b1b6-2ada86737e03@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <1c716208-0fdf-4177-a78e-822bc49e2d2d@googlegroups.com> Subject: Re: Intervention needed? From: alby.gamper@gmail.com Injection-Date: Sat, 06 Apr 2019 08:24:30 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56087 Date: 2019-04-06T01:24:29-07:00 List-Id: On Saturday, April 6, 2019 at 5:49:35 PM UTC+11, Jere wrote: > On Saturday, April 6, 2019 at 12:25:48 AM UTC-4, alby....@gmail.com wrote= : > > 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 pro= bably 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 hi= gher than with any other form of test automation. Note that as with anythin= g 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 the whole class of similar tests and as such that difficulty can be ref= actored away to additional utility (library/framework/etc.) with simpler (h= igher-level) interface. > > > > >=20 > > > > > > especially if the scripts=20 > > > > > > should be robust to evolution of the SW under test (changing th= e line=20 > > > > > > numbers of the required breakpoints, etc.) > > > > >=20 > > > > > This is a wider problem of traceability. You have to solve this p= roblem anyway for the coverage analysis, for example. And the solution, wha= tever you happen to use (like tool-readable labels in source comments), wil= l help with debugging, too. > > > > >=20 > > > > > In any case, yes, some projects need the debugger to test individ= ual 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 th= an a not working one. > > > >=20 > > > > Which features do you consider as missing in GDB regarding GNAT Ada= that make GDB non-ideal? > > >=20 > > > I can't speak for GDB specifically, but at some point (2015 maybe?) t= hey > > > redid the GUI interface in GPS to the debugger and it became complete= ly=20 > > > unintuitive for me. The few times I have had to debug Ada code invol= ved > > > access types and manual memory management. They used to have a reall= y > > > good interface that would visually display records and fields, and wh= en > > > I clicked on an access type variable, it would pop open another box w= ith > > > 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 m= emory > > > 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. > >=20 > > Has anyone tried the debugging support in VisualAda. It supports both G= DB via > > the MI interface and if you opt in to use the MS linker, you can also u= se the > > native MS debugger. > >=20 > > Both options support setting breakpoints, view/change symbols/variables= , etc.. > >=20 > > Note the native debugger will also present the internal symbols/variabl= es, not > > sure if this is a good or a bad thing?.=20 > >=20 > > One of the enhancements that I plan for the next release is adding some= debug > > visualizers for types such as strings and unbounded strings, which by d= efault > > are not presented / shown in a user friendly manner > >=20 > > Suggestions on other improvements are welcome > >=20 > > Alex >=20 > I started to try it out seriously a while back, but it required a specifi= c=20 > installation path of some things and I did not have that setup the way it > wanted. I've been meaning to take a stab at it again. I've just been=20 > distracted. Hi Jere You may/will find that the version since 1.1.10 actually addresses the issu= e that I believe you are referring to. Try the "Console Application" template initially (which uses GNAT throughout, and GDB as a debugger) and then chan= ge the project properties to use the MS linker The MS linker can be set via the "Project Properties", ie right click the project -> select "Properties" and then set "Use Microsoft Linker" within the "General Ada" section Happy to assist if you are having issues with Visual Studio Alex