[Info-vax] VMS Cobol - GnuCOBOL

bill bill.gunshannon at gmail.com
Wed Mar 1 12:46:48 EST 2023


On 3/1/2023 8:21 AM, Johnny Billquist wrote:
> On 2023-02-28 18:53, bill wrote:
>> On 2/28/2023 12:04 PM, Denys Beauchemin wrote:
>>> On Monday, February 27, 2023 at 7:11:36 PM UTC-6, Robert A. Brooks 
>>> wrote:
>>>> On 2/27/2023 6:35 PM, Arne Vajhøj wrote:
>>>>
>>>>> But isn't that the case for all VMS compilers? I know
>>>>> I use /DEB/NOOP for both Fortran, Pascal and C when I want
>>>>> to debug.
>>>> Reagan may weigh in here, but I'm pretty sure that DEC suggested using
>>>> /DEBUG/NOOP when using the debugger for any language with an 
>>>> optimizer back in
>>>> the 80's; if so, then that's been a pretty consistent message.
>>>>
>>>> -- 
>>>>
>>>> --- Rob
>>> Speaking of debuggers.
>>>
>>> I'm not clear on how you can actually debug a gnucobol program, since 
>>> it's C in reality.
>>
>> To be honest, there probably isn't really a debugger for GnuCOBOL.
>> We really need to put this one misconception to rest.  You are not
>> supposed to do anything with the C code generated by the GnuCOBOL
>> compiler.  It's an intermediate language not intended for human
>> consumption.  Every compiler I have worked with so far takes the
>> original source and converts it into some intermediate language.
>> Some use RTL.  Some use assembler.  GnuCOBOL uses C.  RATFOR uses
>> Fortran.  :-)  We even have the Chung/Yuen Tiny Pascal which converted
>> to a P-code that could be further processed into 8080 Assembler and
>> then further processed into an executable for the Northstar.
>> None of these intended humans to read, understand or manipulate
>> the intermediate forms.  So lets just ignore the fact that GnuCOBOL
>> converts COBOL into C.  It really converts COBOL into an executable
>> program on the host computer just like every other compiler.
> 
> All very true. But that does not change the fact that when you point a 
> debugger at it, it will trace the binary back to C, not Cobol, unless 
> you extend the debugger to do the reversing of the C to the original 
> Cobol code. And unless you do some tricks to the C compiler, a debugger 
> don't even have a way to know that it wasn't originally C code.
> 
> But it is the same kind of problems all those other languages also have, 
> and in fact even native compiled languages. After all, the debugger only 
> sees the machine code, and hopefully a bunch of symbols and other 
> meta-data the compiler left behind.

Looks like COBOL is still stuck with
      SOURCE-COMPUTER. source-computer-entry [WITH DEBUGGING MODE].

:-)

bill





More information about the Info-vax mailing list