Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!romp!auschs!d75!awdprime!stingray.austin.ibm.com!marc From: marc@stingray.austin.ibm.com (Marc J. Stephenson/140000;1C-22) Newsgroups: comp.unix.aix Subject: Re: Illegal execution error message Message-ID: <6527@awdprime.UUCP> Date: 9 Apr 91 19:38:03 GMT References: <1991Apr9.134802.26440@eagle.lerc.nasa.gov> Sender: news@awdprime.UUCP Organization: IBM AWD, Austin Lines: 31 In article <1991Apr9.134802.26440@eagle.lerc.nasa.gov> fsfrick@bones (David Fricker) writes: >I'm porting a local graphics program which uses the GL calls, and I >get the error message 'illegal execution' when it bombs. >I tried running 'xde' to track down the offending call, but the following >is all I get from the debugger: > Unreadable instruction at address 0x0 > warning: could not locate trace table from starting address 0x0 > Could not determine current function >As you can see, this is not very helpful. I would appreciate any hints... >Thanks for any help. >david fricker As already mentioned, your problem is that your program has jumped to address 0. Once it gets to that point, the debuggers can't tell where you've been because there's no context. Useful information that you can possibly get from the debuggers is the value of the link register ($link in xde/dbx) which might have a value of where that attempted call was supposed to return to. The GPRs may still have your calling parameter values in general purpose registers 3-10 ($r3, $r4, etc.). After you get the return address, you can find out what routine that was in by doing a "listi
" - the debugger will show you the instruction, with the routine name + offset in parens. Usually this type of error shows up because of an uninitialized function pointer call. Hope that helps. -- Marc Stephenson IBM PSPA (Personal System Programming - Austin,TX) DISCLAIMER: The content of this posting is independent of official IBM position. marc@stingray.austin.ibm.com VNET: MARC at AUSVMQ IBM T/L: 793-3796