2

I went through the first Fortran manual and didn't see anything about a backtrace being printed on abnormal termination.

Did that exist in the first version, or was it implemented later?

11
  • 12
    I think that this was not defined by the language, but was a feature (or not) of a specific implementation/platform. May 10 at 16:37
  • 3
    I wonder when the first backtrace was printed at all, regardless of language. Can't remember when I first saw one. It wasn't a thing for assembly language programmers. And early Fortran programmers didn't have a stack. Routines were not recursive. Memory dumps didn't include backtraces because they were provided by the OS which didn't know about programming language runtimes. I bet FORTRAN programmers had to make do with marking up dumps by hand like assembly coders for a long long time. Probably COBOL too? As a guess I'd bet LISP programmers saw them first.
    – davidbak
    May 10 at 17:04
  • 4
    @davidbak Backtraces were in Lisp 1.5
    – texdr.aft
    May 10 at 17:41
  • 4
    @WayneConrad that's exactly what I meant by marking up dumps. I did a lot of it for assembly language. You put little rectangles around interesting values and drew arrows to other interesting values. Your printout ended up looking like - well, one of those movies where the crazy paranoid guy has a corkboard on the wall with lots of pictures pinned up and marked up with different colored sharpies and yarn stretched from pin to pin in a big random graph ...
    – davidbak
    May 10 at 20:01
  • 2
    All languages (at least BAL, COBOL, FORTRAN and PL/I that I know of had ABEND dumps on DOS/VS and MVS in the 1970s, but those were more like core dumps printed on greenbar in hex. Very useful if you knew what you were doing.
    – RonJohn
    May 11 at 9:31

1 Answer 1

5

It seems that to answer this question, we have to find a few examples and decide which is earliest.

To that end, the System/360 OS FORTRAN IV level G compiler, from 1966, offers this:

+--------------------------------------------------+
| IHC219I                                          |
| TRACEBACK FOLLOWS   ROUTINE   ISN    REG. 14     |
|                     IBCOM            820068FC    |
|                     MASTR            00005378    |
|                     PAYROLL          00003148    |
| ENTRY POINT = 5000                               |
+--------------------------------------------------+
Figure 58. 
Sample Traceback for Execution-Time Errors 

See page 82 in C28-6639-1 FORTRAN IV G Programmers Guide.

The level H compiler has a similar facility, with a couple more registers displayed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .