Project

General

Profile

Feature #2279

documentation review and misc updates

Added by Constantin Asofiei about 10 years ago. Updated about 10 years ago.

Status:
WIP
Priority:
Normal
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
version_reported:
version_resolved:

debugging_converted_code.odt (59.3 KB) Constantin Asofiei, 04/23/2014 11:05 AM

debugging_converted_code.odt (59.2 KB) Constantin Asofiei, 04/25/2014 03:13 AM

History

#1 Updated by Constantin Asofiei about 10 years ago

Following this email thread, I've update the Conversion Handbook - Debugging chapter with a Fixing Regressions and Abnormal Ends section.

Greg,

See the new Fixing Regressions and Abnormal Ends section added to the attached document.  The work is purely theoretical (i.e. no explicit cases are covered), but should give an idea about what needs to be done when investigating application abends/regressions.

Thanks,
Constantin

On 22.04.2014 21:31, Greg Shah wrote:
> Constantin,
>
> This content is pretty useful in general for P2J developers.  I just checked our P2J Developer Guide - Debugging chapter and it is not complete at all.  This kind of information is just not present in the Developer Guide.
>
> The Conversion Handbook - Debugging chapter is much better.  That content really should be in the Developer Guide.  But there is still some points you made below that are still missing from this chapter.
>
> Please take an hour or so and enhance the Debugging chapter in the Conversion Handbook with the points below which are not already there.  This should be done in a generic way, so the MAJIC-specific portions can't go there.  But the described approach can be used with any app (except for the F2 developer help screen trick), so I think it is worth documenting.
>
> We will need to merge the Conversion Handbook Debugging content into the Developer Guide content at some point, but not now.
>
> Thanks,
> Greg
>
> On 04/22/2014 03:15 AM, Constantin Asofiei wrote:
>> Vadim,
>>
>> As I noted in a previous email, if the screen at the failed step is the MAJIC login screen, then this is almost certainly an abend related to the updated being tested.  Usually, when abends happen, you have a stacktrace either in the server or client logs.
>>
>> Thus, running the test scenario manually, you can find the exact stacktrace related to this abend and start investigating it.
>>
>> For question 2 - you need to identify the MAJIC 4GL code which causes the abend. Press F2 to show the developer help screen, and this will show you the name of the 4GL converted program being ran. To identify the failed code, you need to look at the failed step: in this case, it fails after you enter a certain value.  The code I think is the so/service3.p line 761:
>>
>>     if co-s.proj-mgr = ?
>>     then do:
>>       run util/b-emp.p.
>>       co-s.proj-mgr = cur-emp-num.
>>     end.
>>
>> which in turn runs the util/b-emp.p program.
>>
>> Look at the util/b-emp.p and the associated util/b-emp.p.cache to determine how the frame is constructed and why it fails.
>>
>> PS: how I found the util/b-emp.p program without having a server running:
>> 1. searched for the screen title on first line, "SERVICE ORDER HEADER (Page 2)", which resulted in so/service3.p
>> 2. searched for "proj" string in so/service3.p, as the failure is at the step where the proj mgr code is being updated: looking through the occurrences, I found the "update co-s.proj-mg" which was followed by the test mentioned above.
>>
>> PPS: a debug alternative is to connect to MAJIC in debug mode and execute the test scenario until the step prior to the failed step. When you reach the step which causes the failure, suspend the thread and start debugging the MAJIC code - this will show you exactly where the MAJIC code is positioned, before the failure occurs, but not the exact failure.  To determine the exact failure, you can place a breakpoint at the point of failure indicated by the stacktrace, and go backwards in the stacktrace to determine the MAJIC code which causes the failure.
>>
>> Thanks,
>> Constantin
>>
>> On 19.04.2014 20:47, Vadim Gindin wrote:
>>> Constantin,
>>>
>>> I ran MAJIC locally and corrected the error. But for me is still unclear several moments.
>>>
>>> 1) How to define concrete failing test using regression testing results (logs, reports and so on). In my case you pointed on gso_170. Was it just your experience with MAJIC?
>>>
>>> 2) Assume that I find concrete failing test case. Then now I can reproduce testing scenario in MAJIC and debug it. Going further how to define failing Progress source code for this test case?
>>>
>>> Greg,
>>>
>>> 3) I have at this moment the first version of setup workstation documentation and there are no MAJIC docs or I just didn't find it. Isn't it? Are you already updated the docs as you wrote earlier?
>>>
>>> Regards,
>>> Vadim Gindin
>>
>

#2 Updated by Greg Shah about 10 years ago

This is really good. Some minor typos to cleanup:

4Gl to 4GL

what you found until know to ask - know should be now

get you the remainder information - remainder to remaining

Go ahead and check this in.

#3 Updated by Constantin Asofiei about 10 years ago

Attached version was committed to bzr rev 59, in the conversion_handbook project.

Also available in: Atom PDF