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.CommentedMay 10, 2023 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
    CommentedMay 10, 2023 at 17:04
  • 4
    @davidbak Backtraces were in Lisp 1.5
    – texdr.aft
    CommentedMay 10, 2023 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
    CommentedMay 10, 2023 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
    CommentedMay 11, 2023 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.

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.