Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace COBOL Compilers
Created by Guest
Created on Oct 9, 2021

Enterprise Cobol V6 - Still problems after PH35652 / PH36690 and trace program compiled with OFFSET

After applying fixes PH35652 (COBOL 6.3) and PH36690 (COBOL 6.2), we notice that there are still problems to trace the execution of programs compiled with the option OFFSET / OPTIMIZE (1|2).

Despite the use of the OPTIMIZE (1) option, it happens that a COBOL source statement produces several blocks of binary instructions:
- a first block which corresponds to the start of the binary code of the COBOL instruction,
- another block (perhaps be several) rejected after the translation of an other COBOL statement.
Each block is identified in the OFFSET table.

Our trace tool works from the compilation listing, and uses either the table of OFFSETs, or all of the binary code produced by the LIST option.
When a program is compiled with the LIST option (and OPTIMIZE (1)), the step-by-step execution works fine (at this time we have not encountered any problems).
When a program is compiled with the OFFSET option (and OPTIMIZE (1)), in some cases the instructions are executed in an unexpected order, with back to instructions already executed.

The OFFSET table should differentiate the binary instructions blocks between those which correspond to the start of a COBOL statement and those which do not correspond to the start of a COBOL statement, for example by adding an annotation in the form of a specific character either on the source line number or on the block memory address.
Thus the debugging tools responsible for making step-by-step traces or setting breakpoints could select the blocks of binary instructions corresponding to the start of a COBOL statement.

If a COBOL statement is duplicated due to the activation of the INLINE option, this will result in several blocks associated with the start of the COBOL statement and several unassociated blocks at the start of the COBOL statement.

The OFFSET table must keep the identification of the blocks of instructions which do not correspond to a start of a COBOL statement because this is particularly useful in the analysis of memory dumps.

Idea priority Medium
  • Guest
    Reply
    |
    Dec 2, 2021

    We have looked into this RFE. However, the code that prepares the OFFSET table doesn't know whether an entry in the table corresponds to a new line (or copy thereof) or interspersion/error messages or something else that your tool wouldn't want to pay attention to. We currently don't have that information in the backend at all and the amount of work that it would take to include it would be very significant. As a result, we would need to reject this RFE.

  • Guest
    Reply
    |
    Nov 1, 2021

    This RFE is still being discussed.

  • Guest
    Reply
    |
    Oct 9, 2021

    Attachment (Use case): Step by step trace for program compiled with LIST option

  • Guest
    Reply
    |
    Oct 9, 2021

    Attachment (Use case): Step by step trace for program compiled with OFFSET option

  • Guest
    Reply
    |
    Oct 9, 2021

    Attachment (Use case): Extract from listing with LIST option

  • Guest
    Reply
    |
    Oct 9, 2021

    Attachment (Use case): Extract form listing with OFFSET option