Thanks Buck
I really appreciate this example. I have forwarded it to the debugger
developer and he said:
"Happy to help but currently working on a critsit at the moment and other
PMRs waiting on the queue. Either this should be raised as a PMR, if that's
not possible we can at least raise a defect. That way it won't get lost in
my inbox. What would you rather do? "
I am getting an internal defect opened but it will get more priority if it
comes from one of you guys.
Edmund
From: Buck Calabro <kc2hiz@xxxxxxxxx>
To: wdsci-l@xxxxxxxxxxxx
Date: 08/13/2015 01:59 PM
Subject: Re: [WDSCI-L] RDi stops responding during interactive debug
Sent by: "WDSCI-L" <wdsci-l-bounces@xxxxxxxxxxxx>
On 8/10/2015 2:44 PM, Greg Wilburn wrote:
I've had this occur several times and it creates a real mess.
I start a SEP (for myself)... then call the program on the green screen.
As I'm stepping through the program, I tend to "hover" over variables to
see what's in there. Some of my XML parser routines have relatively large
qualified data structures.
Order DS qualified dim(100)
<fields here>
...followed by an embedded "Item DS qualified dim(500)"
So they are not huge... but large. If I accidentally hover over the DS
"Order", RDi will grind away until it eventually fades out and indicates
(Not Responding) in the title bar.
Anyone else seen this?
I tried to re-create it without success. However I'm getting different,
weirder, results. The hover simply doesn't work at all for the large
variable. It works for others though. The worst part (from my
perspective) is that if I add the large variable to a Monitor View, it
just sits on 'Pending...' and never resolves it. Here is a small
program that illustrates the behaviour I see:
ctl-opt dftactgrp(*no) actgrp('QILE')
option(*srcstmt: *nodebugio);
// some small variables
dcl-s i int(10);
dcl-s j int(10);
// make a pretty big data structure
dcl-ds order qualified dim(100);
fld001 char(100);
fld002 char(100);
fld003 char(100);
fld004 char(100);
fld005 char(100);
arr001 char(50) dim(500);
end-ds;
// make a reference to the entire structure so we can hover over
it in debug
clear order;
// populate one
i = 5;
j = 3;
order(i).arr001(j) = 'Populated';
// 1) Put the program into debug and run it to this point (just
before setting on *inlr)
// 2) Hover over variables i and j. See that their values appear
in a popup window.
// 3) Hover over 'order' on the line 'clear order'. See that RDi
doesn't seem to be
// doing anything.
// 4) Open the Montitors View.
// 5) Click the + and add variable j to the monitor. See the
value appear in the
// Monitors View.
// 6) Click the + and add variable order to the monitor. It
appears with a + because
// it is a structure.
// Click the + next to order and expand the structure. See
that it stays
// on 'Pending...'
// But RDi is not hung: Hover over i and the popup window
appears as expected.
// 7) Click on the + in the Monitors View and add the variable
order(i).
// It appears with a +.
// Expand orders(i) and see the various subfields.
// Expand [0...99]. See that ARR001(I,3) = Populated.
// Conclusion: The Monitors View will display a smallish
structure but not a largish one.
*inlr = *on;
--
--buck
As an Amazon Associate we earn from qualifying purchases.