[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

365.0. "Cryptic RMS Errors" by THEBAY::WAKEMANLA (Cybernetic Etymologist) Tue Dec 09 1986 16:38

    I have a customer (OEM) who sells a package that includes another
    package in its configuration.  They are having problems with this
    third party (fourth party??) application in that it delivers rather
    terse RMS errors with almost no useful information ("Error Opening
    File").  Anyone out there know of sneaky ways to get additional
    error data out of RMS without modifying the source to this application?
    
    Larry
T.RTitleUserPersonal
Name
DateLines
365.1CLT::GILBERTeager like a childTue Dec 09 1986 18:561
    Try "$ SET WATCH FILE /EVENT=MAJOR".
365.2A definite maybe.BISTRO::HEINHein van den Heuvel, Valbonne.Wed Dec 10 1986 03:3720
>      Anyone out there know of sneaky ways to get additional
>    error data out of RMS without modifying the source to this application?
 
    Sneaky hu, no source changes hu, well perhaps!
    How about creating a small shareable image:
    	- Entry points SYS$OPEN and SYS$CREATE.
    	- Calls the real SYS$routines, passing original parameter list.
	- Check results.
    	- If status is failure then somehow output STS, STV, (default)filename.
    Now re-link the application against this library and presto!
    I know for a fact that this  works for a cobol or macro application.
    I doubt whether it would work for an application where the file-io
    is handled through a sharable library (BASIC, COBOL, 3thParty..)
    In the later case you need to re-link the library againt the dummy
    rms library. This may very well be impossible.
    
    Then there are always SET WATCH (as replied previously) and perhaps
    the RMSLOG tool.
    
    		Hein.
365.3maybe...BLITZN::PALOErtu vitlaus?Wed Dec 10 1986 11:0712
    If the program is terminating with a traceback - then assuming you
    can at least re-link, make a small MACRO file with a contribution
    to LIB$INTIALIZE and insert your own handler at Vector 2.  This
    would allow you to get the signal and do something (print all info)
    about it...  Of course, this presumes that the program doesn't
    use the secondary vector.
    
    	good luck,
    
    		\rik
    
    ps.  Even if you can't link it in,  you could always use PATCH ;-)
365.4Like what I see so farTHEBAY::WAKEMANLACybernetic EtymologistWed Dec 10 1986 16:1011
    re:.1	No help for SET WATCH FILE /EVENT=MAJOR.  Is it documented?
    (I dont have the manuals).  I tried it and got %DCL-W-IVQUAL,
    Unrecognized qualifier... 
    
    Re:.2	My first thought was to intercept the RMS calls like
    you said.  The application is written in FORTRAN.  I will also look
    into the Toolkit for RMSLOG.
    
    Re:.3	Tell me more, sounds interesting.
    
    Larry
365.5>SET watch, edit the image, patch then mix until thickVAXWRK::NORDLINGERTo reach the unreachable STARWed Dec 10 1986 16:1115
>    I have a customer (OEM) who sells a package that includes another
>    package in its configuration.  They are having problems with this
>    third party (fourth party??) application in that it delivers rather
>    terse RMS errors with almost no useful information ("Error Opening
>    File").  Anyone out there know of sneaky ways to get additional
>    error data out of RMS without modifying the source to this application?

     I suggest you edit the image header and toggle the bit that gives
     the debugger (this is how we got the passwords for Moria) then 
     check this out. You can also set the sysgen parameter for non-fatal-
     bugcheck and get a crash to wade in (maybe). 

     The Set watch suggestion should be your first step. Send mail if 
     your unfamiliar with any of the above and would like assistance
     this sounds kind of fun...
365.6The correct syntax for SET WATCH is ...VINO::VOBAWed Dec 10 1986 19:449
SET WATCH FILE /CLASS = [NO]ALL
                        [NO]ATTRIBUTES
                        [NO]CONTROL_FUNCTION
                        [NO]DIRECTORY_OPERATIONS
                        [NO]DUMP
                        [NO]ATTACHED
                        [NO]MAJOR_FUNCTION
                        NONE
                        [NO]QUOTA_OPERATIONS
365.7I think I'm missing somethingJOCKEY::MORRISWhere's my towel?Thu Dec 11 1986 05:576
Re .1

>    Try "$ SET WATCH FILE /EVENT=MAJOR".

Sorry if I appear dense, but what command is this? The only SET WATCH I can find
reference to in my 4.4 documentation set is "DBG> SET WATCH".
365.8VINO::VOBAThu Dec 11 1986 07:543
    Re .7, it's a 'hidden' DCL command that runs the SETWATCH.EXE program.
    
    --svb
365.9It is an undocumented and unsupported "feature"CRVAX1::LAMPSONMike Lampson @DDOThu Dec 11 1986 10:200
365.10extract the DCL verb for the definitive answerVAXWRK::NORDLINGERTo reach the unreachable STARThu Dec 11 1986 10:288
	One I believe we should thank Mr. Gilbert for. 
        It is quite nice, though I believe undocumented because
	such flirtations with the XQP can have side effects. 

	The is a program on METOO called show comma that will
	extract the CLD for a DCL verb. I'd almost say Mr. Gilbert
        wrote this too, it's hard to say as legend and fact become
	blurry :^)
365.11"Credit where credit is due" dept.NANUCK::SSMITHSupport your right to arm bearsFri Dec 19 1986 16:381
    Peter Gilbert *did* write SHCOMMA as well. 
365.12VIDEO::LEICHTERJJerry LeichterFri Feb 27 1987 08:422
SET WATCH requires privilege - something like CMKRNL.
							-- Jerry