|
Actually, I was trying to follow your directions on how to find the variable's address: "After running the dump, find the stack entry for the program in question. The stack entry for a given program should include the registers, a straight dump of the code segment, the exception handlers, and a list of all variables created for that program." I also scanned for the address, and I found it in several places, but I couldn't prove that it was the address as shown by debug's watch and by %addr(). Which was the point of the exercise. The DMPJOBINT has a lot of documentation, but not enough to find something without a manual explaining what I'm looking at. Thanks though -- it was interesting. It seems that using %addr() and checking the low-order byte is a lot easier than reading the dump, or Barbara's method of looking for extra space by comparing %size()'s. Now when I have a minute (or if someone else does), all I need is a program with several data structures -- with and without pointers, integers, floating point, etc. and a simple display of %addr() for each data structure and field, and if I get fancy, some text indicating what n-byte alignment it has. Regards, Peter Dow Dow Software Services, Inc. 909 425-0194 voice 909 425-0196 fax ----- Original Message ----- From: "Richard Jackson" <richardjackson@richardjackson.net> To: <RPG400-L@midrange.com> Sent: Wednesday, October 11, 2000 10:56 AM Subject: RE: RPG400-L Digest V2 #357 > I am mystified why you started to chase the address of the PEP stack frame > instead of the address of the variable. I would have searched for > F9BAF3B174017730 instead of C8C645783FFFBC20. Still, looks to me like you > have a good solution - low order byte of the address returned by addr() will > give alignment. > > Now, why did you want to know that? :) > > Richard Jackson > mailto:richardjackson@richardjackson.net > http://www.richardjacksonltd.com > Voice: 1 (303) 808-8058 > Fax: 1 (303) 663-4325 > > -|-----Original Message----- > -|From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On > -|Behalf Of Peter Dow > -|Sent: Wednesday, October 11, 2000 11:32 AM > -|To: RPG400-L@midrange.com > -|Subject: Re: RPG400-L Digest V2 #357 > -| > -| > -|Thanks Richard, Martin. > -| > -|When I used debug to add a watch I got: > -| > -|Num Variable Address Length > -|1 $PGM F9BAF3B174017730 10 > -| > -|At the same time I used the following command in debug: > -| > -|%ADDR($PGM) = SPP:F9BAF3B174017730 > -| > -|Then I did the DMPJOBINT followed by PRTINTDTA and found what I assume are > -|the stack entries for the program I was debugging (MOUSER): > -| > -|ISF ADDRESS C8C645783F FFBAA0 TYPE MI PROC > -| RESUMEPOINT 3A80CC5AED 001AE4 ENTRY@ 3A80CC5AED 001940 > -| PROGRAM MOUSER > -| ENTRY MOUSER + 000001A4 > -|ISF ADDRESS C8C645783F FFBC20 TYPE MI PEP > -| RESUMEPOINT 3A80CC5AED 0018AC ENTRY@ 3A80CC5AED 001790 > -| PROGRAM MOUSER > -| ENTRY _QRNP_PEP_MOUSER + 0000011C > -| > -|Scanning the dump output for C8C645783F FFBC20 I found (among > -|other things): > -| > -|ISF ADDRESS C8C645783F FFBC20 TYPE MI PEP > -| RESUMEPOINT 3A80CC5AED 0018AC ENTRY@ 3A80CC5AED 001790 > -| PROGRAM MOUSER > -| ENTRY _QRNP_PEP_MOUSER + 0000011C > -| GPR 0 ********** ****** > -| GPR 1 C8C645783F FFBC20 > -| GPR 2 ********** ****** > -| GPR 3 ********** ****** > -| GPR 4 ********** ****** > -| GPR 5 ********** ****** > -| GPR 6 ********** ****** > -| GPR 7 ********** ****** > -| GPR 8 ********** ****** > -| GPR 9 ********** ****** > -| GPR 10 ********** ****** > -| GPR 11 ********** ****** > -| GPR 12 ********** ****** > -| GPR 13 8000000000 000000 > -| GPR 14 C8C645783F 000080 > -| GPR 15 0000000000 0000F1 > -| GPR 16 0000000000 000080 > -| GPR 17 0000000000 0010AE > -| GPR 18 C8C645783F FFCE60 > -| GPR 19 F4E2AB0C6B 000000 > -| GPR 20 8000000000 000000 > -| GPR 21 F9BAF3B174 017240 * (close to F9BAF3B174 017730) > -| GPR 22 00000000C0 000000 > -| GPR 23 E5C6E167D5 001440 > -| GPR 24 E5C6E167D5 001420 > -| GPR 25 8000000000 000000 > -| GPR 26 F9BAF3B174 017240 * (close to F9BAF3B174 017730) > -| GPR 27 220EB12D38 001200 > -| GPR 28 E001694C5E 0304C0 > -| GPR 29 C8C645783F FFBE20 > -| GPR 30 F9BAF3B174 017000 * (close to F9BAF3B174 017730) > -| GPR 31 E5C6E167D5 001480 > -| > -| ADDRESS LOCATION OBJECT TEXT SOURCE STATEMENT > -|3A80CC5AED 00189C 00010C FA970002 STQ 20,0X0(23) > -|3A80CC5AED 0018A0 000110 62E30000 ORI 3,23,0 > -|3A80CC5AED 0018A4 000114 63820000 ORI 2,28,0 > -|3A80CC5AED 0018A8 000118 48000099 BL 0X98 > -|3A80CC5AED 0018AC 00011C EB010000 LD 24,0X0(1) > -|3A80CC5AED 0018B0 000120 8358FF8C LWZ 26,0XFF8C(24) > -|3A80CC5AED 0018B4 000124 3B3C00A0 ADDI 25,28,160 > -|3A80CC5AED 0018B8 000128 7FD9E088 TD 30,25,28 > -|3A80CC5AED 0018BC 00012C 3ABC00A8 ADDI 21,28,168 > -|3A80CC5AED 0018C0 000130 7FD5E088 TD 30,21,28 > -| > -|I could keep going -- I found some references to F9BAF3B174017730, but > -|nothing conclusive. However, it does sort of look like %addr(variable) is > -|the address that we want to be aligned. I haven't heard anyone contradict > -|that. If true, you could programmtically determine if your data structures > -|are aligned. > -| > -|Peter Dow > -|Dow Software Services, Inc. > -|909 425-0194 voice > -|909 425-0196 fax > -| > -| > -| > -| > -|----- Original Message ----- > -|From: "McCallion, Martin" <MccalliM@Midas-Kapiti.com> > -|To: <RPG400-L@midrange.com> > -|Sent: Wednesday, October 11, 2000 8:34 AM > -|Subject: RE: RPG400-L Digest V2 #357 > -| > -| > -|> Peter Dow said: > -|> > > Where can I see the virtual address? > -|> > -|> Richard Jackson replied: > -|> > dump job internal. > -|> > -|> IIRC you can also see this in debug; certainly if you set a watch you > -|> see the address of the watched variable. That sounds a lot easier to me > -|> :-) > -|> > -|> Cheers, > -|> > -|> Martin. > -|> > -|> -- > -|> Martin McCallion > -|> Midas-Kapiti International > -|> Work: mccallim@midas-kapiti.com > -|> Home: martin.mccallion@ukonline.co.uk > -|> > -|> Apologies for the length of this sig, but company policy says: > -|> This email message is intended for the named recipient only. It may be > -|> privileged and/or confidential. If you are not the intended named > -|> recipient of this email then you should not copy it or use it for any > -|> purpose, nor disclose its contents to any other person. You should > -|> contact Midas-Kapiti International as shown below so that we can take > -|> appropriate action at no cost to yourself. > -|> > -|> Midas-Kapiti International Ltd, 1 St George's Road, Wimbledon, London, > -|> SW19 4DR, UK > -|> Email: Postmaster@midas-kapiti.com Tel: +44 (0)208 879 1188 Fax: +44 > -|> (0)208 947 3373 > -|> Midas-Kapiti International Ltd is registered in England and Wales under > -|> company no. 971479 > -|> > -|> +--- > -|> | This is the RPG/400 Mailing List! > -|> | To submit a new message, send your mail to RPG400-L@midrange.com. > -|> | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > -|> | To unsubscribe from this list send email to > -|RPG400-L-UNSUB@midrange.com. > -|> | Questions should be directed to the list owner/operator: > -|david@midrange.com > -|> +--- > -| > -|+--- > -|| This is the RPG/400 Mailing List! > -|| To submit a new message, send your mail to RPG400-L@midrange.com. > -|| To subscribe to this list send email to RPG400-L-SUB@midrange.com. > -|| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. > -|| Questions should be directed to the list owner/operator: > -|david@midrange.com > -|+--- > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.