Program stack with line numbers (OpenInsight 32-bit Specific)
At 05 JAN 2009 08:12:38AM Rich Channer wrote:
Hi All,
Happy new year!
I know this has been mentioned before and revisited recently, but, could we please have some code that exposes the proc and current line numbers of the last x processes from the stack? It is not acceptable for our applications to drop to debugger in a live situation when some problems occur - a message with some stack info is much more acceptable and enough to allow us to debug the problem back at base!
Any chance?
Rich
At 05 JAN 2009 06:43PM Eric wrote:
The line numbers aren't accessible, as there isn't a 1-1 relationship between the source and the object. For example, loops resolve into conditional jump and a goto.
Perhaps better quality source code is the answer?
Or are the debugger drops due to calling external DLLs ?
At 05 JAN 2009 07:34PM Richard Hunt wrote:
If you were to use a "DEBUGGER_REPLACEMENT" subroutine, you can then use the common variables from the RTI_DEBUG_COMMON insert to get alot of info. The LINENO@ variable is multivalued with line numbers and the CALLSTACK@ variable is multivalued with the programs.
You will also need to set your environment debugger settings to "INTERCEPT" within the DATABASE MANAGER.
At 06 JAN 2009 04:32AM Rich Channer wrote:
Thanks for the input guys, but the prog is not dropping to the debugger - I mentioned it as the getsessioncallstack() function returns prog and line info after a debug - but we do not want to force a debug as the error merrage is generated by a prog when it attempts to i/o a table that does not exist on a client system. It's just that at the popint the prog tries to open a table - we no longer know what it was.
I won't bore you with the details on how and why it does things as I am convinced some parts were written by Aliens - but I think I will roadmap another global app change to avoid in futureā¦
Cheers!