Call stack depth

Hello,
i would like to know if there is any possibility in PL/SQL to get the current stack depth inoformation. I am not sure if this is the right description, i would like to know how deep into calling subprograms has a program execution come at the moment.
I would like to use this information for automatical indentation of log file, produced by a pl/sql procedure call.

948452 wrote:
Can you please provide me with some sample code?Unable to read the documentation for some reason?
SQL> ed
Wrote file afiedt.buf
  1  create or replace procedure callme(x in number, y in number) is
  2    v_call_stack varchar2(32767);
  3  begin
  4    v_call_stack := dbms_utility.format_call_stack();
  5    dbms_output.put_line(v_call_stack);
  6    if x < y then
  7      callme(x+1,y);
  8    end if;
  9* end;
SQL> /
Procedure created.
SQL> exec callme(1,5);
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3F6E5040         4  procedure SCOTT.CALLME
482416A0         1  anonymous block
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3F6E5040         4  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
482416A0         1  anonymous block
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3F6E5040         4  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
482416A0         1  anonymous block
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3F6E5040         4  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure
SCOTT.CALLME
482416A0         1  anonymous block
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3F6E5040         4  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
3F6E5040         7  procedure SCOTT.CALLME
482416A0         1  anonymous block
PL/SQL procedure successfully completed.

Similar Messages

  • Verify Error 1030# Stack Depth unbalanced 1 != 0.

    Hi,
    Iam trying to inject some code into the SWF File using an
    opensource Java Framework. My code is getting injected correctly. I
    saw this, when i tried to decompile the SWF file into which i
    injected the code. But there is something that needs to be handled
    when it comes to handling the instruction sets available inside the
    method where i injected the code. I just wanted to know what that 1
    and 0 points to, in the below given error message.
    Verify Error 1030# Stack Depth unbalanced 1 != 0.
    If somebody can help me out in making me understand the 1 and
    0 in the error message, i can further proceed to correct the
    mistake that i have done.
    Thanks,
    Prabakaran Srinivasan.

    Hi All,
    I am able to find the root cause for this. For AS 3 classes,
    while parsing the ABC code, every method body will be a set of
    instructions in which each instruction will have an offset to it.
    This offset will be useful to mark the target for branching
    instructions like if, while etc.... Because, these instructions
    contains targetoffset as a parameter to which the instruction has
    to jump when the condition becomes true or false. The process what
    i am doing is i do some code injection to replace the URLRequest
    calls. The flash file in which i got this error, i did replace the
    URLRequest call to my own method call and this code was being
    wrapped up by an IF block. Because of the code injection, i need to
    update the offset of the instructions with the difference offset
    value. I did this, but i missed the jumpoffset parameter of the if
    block wrapping my injected code which was the root cause. I did fix
    this...
    Thanks,
    Prabakaran Srinivasan.

  • Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

    Hi,
    I am trying to run a long running process, by redirecting to the LongRunningView using the code below. But its throwing exception Can anyone please help
    string strCurrentUrl = SPUtility.OriginalServerRelativeRequestPath;
    strCurrentUrl = strCurrentUrl + "?ListName=" + strListName;
    ////Initiates the Excel Import
    if (ObjdtExcel != null && ObjdtExcel.Rows.Count > 0)
    ExcelImportJob objJob = new ExcelImportJob(strTabName, ObjdtExcel, strFileExt, SPContext.Current.Site.ID, SPContext.Current.Web.ID, strWorkflow, strListName);
    objJob.Title = "Excel Import Job";
    //// Redirect the user to another page when finished.
    objJob.RedirectWhenFinished = false;
    //// Specify if the user can cancel this.
    objJob.UserCanCancel = false;
    //// Specify the refresh rate of the job, here, the page polls every 5 seconds for completion.
    objJob.MillisecondsToWaitForFinish = 15000;
    //// Finally, start the job on a web.
    objJob.Start(SPContext.Current.Web);
    string strUrl = string.Format("{0}?JobId={1}&Source={2}", PROGRESS_PAGE_URL, objJob.JobId, strCurrentUrl);
    SPUtility.Redirect(strUrl, SPRedirectFlags.Default, HttpContext.Current);
    The exception being "Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack."
    Arjun Menon U.K

    Hi Arjun,
    Any update?
    Best regards,
    Patrick
    Patrick Liang
    TechNet Community Support

  • The ABAP call stack was: SYSTEM-EXIT of program BBPGLOBAL

    Hi
    We are using SRM 5.0. We are facing a strange problem. We are able to see the initial screen of SRM EBP in the browser. But once the user name and password are provided the system goes for a dump with the following error:
    The following error text was processed in the system SS0 : System error
    The error occurred on the application server <Server Name> and in the work process 0 .
    The termination type was: ABORT_MESSAGE_STATE
    The ABAP call stack was: SYSTEM-EXIT of program BBPGLOBAL
    <b>SM21 Log:</b>
    Short Text
         Transaction Canceled &9&9&5 ( &a &b &c &d &e &f &g &h &i )
         The transaction has been terminated.  This may be caused by a
         termination message from the application (MESSAGE Axxx) or by an error
         detected by the SAP System due to which it makes no sense to proceed
         with the transaction.  The actual reason for the termination is
         indicated by the T100 message and the parameters.
    Transaction Canceled ITS_P 001 ( )
    Message Id: ITS_P
    Message No: 001
    I just checked these threads but did not help much,
    RABAX_STATE  error after loggin into BBPSTART service in SRM 4.
    ITS_TEMPLATE_NOT_FOUND error
    Besides I tried this note: 790727 as well, still I get the same error.
    Any help would be highly appreciated.
    Thanks in advance
    Kathirvel Balakrishnan

    Hi
    <u>Please do the following steps.</u>
    <b>When you are using the Internal ITS,you need not run the report W3_PUBLISH_SERVICES.(only SIAC_PUBLISH_ALL_INT )
    ALso pls check the foll:
    -->activate the services through SICF tcode.
    > Go to SICF transaction and activate the whole tree under the node Default host>sap>bc>gui>sap>its.
    >Also maintain the settings in SE80>utilities>settings>internet transaction server-->test service/Publish. (BBPSTART , BBPGLOBAL etc)
    Table TWPURLSVR should have entries for the / SRM server line as well as gui and web server.
    Could you please review again the following steps ?
    Did you check that ICM was working correctly (Transaction -  SMICM) ?
    1-Activate the necessary ICF services
    With transaction SICF and locate the
    services by path
    /sap/public/bc/its/mimes
    /sap/bc/gui/sap/its/webgui
    2- Publish the IAC Services
    With Transaction SE80 locate from
    the menu Utilities -> Settings ->
    Internet Transaction Server (Tab) ->
    Publish (Tab) and set “On Selected
    Site” = INTERNAL.
    3- Locate the Internet Services SYSTEM and WEBGUI.
    Publish these services with the Context
    Menu -> Publish -> Complete Service
    4- Browse to http://<server>:<icmport>/sap/bc/gui/
    sap/its/webgui/! and login to the
    webgui.</b>
    Hope this will help.
    Please reward suitable points.
    Regards
    - Atul

  • Call stack

    What is the best way to see call stack in JSP/servlet application?
    How can I see in which order classes and methods are called when I for example clik the button on web page?
    "The call stack is a list of classes and methods that have been called or
    executed in java application. The most current method is at
    the top of the stack. The element second from the top issued a call to
    execute the top-most method, and so on and so forth."

    I use Struts and JSTL.
    I would like to see how it works.
    All call stack from beginning (http request) to the end (jsp output).
    So, where to put this System.out?
    At the end in my jsp?
    In front/dispatch servlet?
    Where?
    How many thread was created if I have tags in jsp?
    How to output all of them?
    Again, I have ONE jsp page with tags and I would like to see call stack i.e. which classes and methods was called when I call this jsp - http request?

  • Get the parameter values and entire call stack in procedure

    Does Oracle provides any utility procedure like format_error_stack, and format_call_stack, where I can get entire procedure/function call along with parameters passed to it so that I can just dump that into some table as part of logging.
    -S

    Thanks for the response. I guess who_am_i and who_called_me gives only the proc/function name. I am looking for a way to figure out what was the parameters and values passed to the procedure so I can simply dump them into my log tables.
    This would be similar to any java application where it can dump its own call stack, which has parameters and values passed to it and can dump into a log file.
    For ex:
    create or replace procedure my_proc( a number, b varchar2)
    is
    begin
    --this log stack should be able to print procedure name and parameters passed to it.
    -- I should be able to use log_stack without any parameters in any procedure/function
    log_stack();
    end;
    --My output should be something like this
    SQL> EXEC my_proc(1, 'ABC')
    CALL STACK:
    my_proc(a => 1, b => 'ABC')

  • TelemetryClient.TrackException Does Not Include Method Name Or Call Stack (Windows Store App)

    We are attempting to use Application Insights (v0.12.0-build17386) for our Windows Store App.  When we use TelemetryClient.TrackException, no details appear in the azure portal.  The Failed Method is "Could Not Parse" and the Call Stack
    is empty. If we click on the "..." it gives more details but still no method name or call stack information to help us determine where the exception was thrown.  Is this by design, not implemented, or did we miss something obvious?  The
    code is very simple:
    public static void LogException(Exception exception)
    TelemetryClient telemetryClient = new TelemetryClient();
    telemetryClient.TrackException(exception);

    This is a known limitation of this version. It is in the backlog to fix. Note though that 0.13 is out already and fix should be included in the next version (0.14)
    Anastasia

  • Can any one tell me how to work with call stacks

    i am working with user-exits and facing problem with call stacks  , i want to keep a error message .

    Use this FM to trace the program Call stack list: SYSTEM_CALLSTACK.
    Hope That Helps
    Anirban M.

  • Reading from ABAP memory, not available in call stack

    Hi,
    I need to read a table from ABAP memory. It is not available from the call stack, so I can’t use the standard ‘assign’ approach. The internal table is listed under System areas -> Area ITABS-HEADS with the name \FUNCTION-POOL=MLSP\DATA=IY_ESLL[] 
    Is it even possible to read this table? Seems as though I have to access function-pool MLSP to find it.
    Regards,
    Damian

    Hi,
    The main program of this function pool is SAPLMLSP. If you in any of theses includes can add a small form that returns the content of internal table ( IY_ESLL[]  ) that should solve your problem.
    In the program that need the data, write something like :
    PERFORM Z_GET_MLSP_DATA(SAPLMLSP) using GT_ESLL.
    This form can be created within any sub-include within the SAPLMLSP.
    However, with a quick look at SAPLMLSP does not reveal any user modifiable includes, but I didn't check very carefully.
    If you are on ECC 6.0, there are plenty of enhancement spots, which could be used for this purpose.

  • Getting the call stack up to a certain location.

    Dear friends,
    I am searching for a function or method that can give me
    the call stack(like in debug mode).
    If you know of a function that provides this information
    please let me know, its very urgent.
    Thanks in advance,
    Eitan Illuz.

    Hello Eli
    You may have a look at thread:
    [Get the name of a function module within a function module|Get the name of a function module within a function module;
    Sample coding to retrieve the calling function module:
    data:
      lt_callstack TYPE abap_callstack.
    CALL FUNCTION 'SYSTEM_CALLSTACK'
      IMPORTING
        callstack = lt_callstack.
    READ TABLE lt_callstack
      WITH KEY blocktype = 'FUNCTION'
        blockname = 'CRM_ORDER_COPY_SINGLE_OW'
      TRANSPORTING NO FIELDS.
    CHECK sy-subrc NE 0.
    Reference: [http://martins.de/call_stack_lesen.html]
    Regards
      Uwe

  • Subr stack depth exceeded

    Hello,
    makeotflib [WARNING] subr stack depth exceeded (reduced)
    Is this a problem of my feature code or more an information statment of
    MakeOTF?
    Anything to do?
    Andreas

    This is not a problem to worry about. It means that when MakeOTF tried to subroutinizedthis font in order to make it smaller, the font was so difficult that MakeOTFran out of the fixed reiteration depth, and as a result the analysis was not as complete as might have been possible. The result is that your font is fine, but may not be compressed to the theoretical maximum.

  • Runtime Stack Depth

    I am writing some more "exotic" datastructures (AVL trees, Red-Black Trees). My main concern is the runtime stack depth. I don't want blow over it if i am inserting a large amount of data. Would the best approach be to write it procedurally instead of recursively?

    Both AVL and Red-Black trees are balanced binary trees, so the maximum depth of the tree is 2 lg n, where n is the number of elements and lg is the logarithm base 2. To have a tree depth of 64, you'd need over 4 billion elements in your tree. For this to overflow even a 64 KB stack, you'd need to store 1 KB of local variables, or 256 ints, in your recursive method. The default stack depth is much bigger, usually 512 KB or 1 MB.
    I wouldn't consider stack overflow in deciding whether to use recursion or iteration.

  • OSB Cloud crashes with call stack : kbhsxmDestroyNode - kbhscaDoCleaning

    RMAN Backup using OSB Cloud is failing with the following errors in the alert.log :
    ORA-07445: exception encountered: core dump [kbhsxmFreeNode()+26] [SIGSEGV] [ADDR:0x2700000009] [PC:0x2AFD2527545E] [Address not mapped to object] []
    ----- SQL Statement (None) -----
    Current SQL information unavailable - no cursor.
    ----- PL/SQL Stack -----
    ----- PL/SQL Call Stack -----
    object line object
    handle number name
    0x2049eb6a0 1372 package body SYS.DBMS_BACKUP_RESTORE
    Top call stack functions:
    kbhsxmFreeNode <- kbhsxmFreeNode <- kbhsxmFreeNode
    kbhsxmDestroyNode <- kbhscaDoCleaning <- sbtbackup
    SO: 0x2345f0320, type: 2, owner: (nil), flag: INIT/-/-/0x00 if: 0x3 c: 0x3
    proc=0x2345f0320, name=process, file=ksu.h LINE:12451, pg=0
    (process) Oracle pid:1002, ser:110, calls cur/top: 0x206b02538/0x206b02538
    flags : (0x0) -
    flags2: (0x800), flags3: (0x0)
    intr error: 0, call error: 0, sess error: 0, txn error 0
    intr queue: empty
    ksudlp FALSE at location: 0
    (post info) last post received: 0 0 27
    last post received-location: ksa2.h LINE:286 ID:ksasnr
    last process to post me: 235f6a748 1 6
    last post sent: 0 0 9
    last post sent-location: ksq.h LINE:1982 ID:ksqrcl
    last process posted by me: 2345ed1a0 174 0
    (latch info) wait_event=0 bits=0
    Process Group: DEFAULT, pseudo proc: 0x234a07088
    O/S info: user: oracle, term: UNKNOWN, ospid: 17906
    OSD pid info: Unix process pid: 17906, image: [email protected]
    Any suggestions on how to resolve this?

    FINALLY!  Thanks to all... it was that #$%$ inputmanagers !!  SAVE THIS FIX!!!
    All, after many hours trying EVERY proposed fix on many threads, I FINALLY found the solution.  It's pretty simple.  This fix is thanks to nickburlett on this thread (https://forums.adobe.com/thread/1636876).  Simply "Clearing the contents of "/Library/InputManagers" solves the problem of Creative Cloud Desktop not opening after installing OS X Yosemite.  

  • Debugging - Wht is CALL STACK, OVERVIEW etc.

    Hi Experts,
    As am working with user-exits for VA01, VL01N etc., When I want to debug these VA01, VL01N tx, as we know, there is huge SAP code, so ,i guess, in this regard, <i><b>CALL STACK, OVERVIEW, Menu--->debugging updation</b></i> etc, helps to trace out our requirement!! so, pls, clarify that, in debugging mode,
    1) How Can I use CALL STACK or Wht is the role of it?
    2) How Can I use OVERVIEW or Wht is the role of it?
    3) How Can I use mENU-->Debugging Updation or Wht is the role of it?
    Thanq.

    Hi Srikhar,
    Please refer to the below chart for the uses and the roles of all the modes in debugging.
    Display Modes Available Using Pushbuttons
    Fields
    The scrollable field display contains the contents of up to eight fields. The contents of the three most important system fields are always displayed. This is the default display mode in the Debugger. See also:
    Processing Fields
    Table
    Displays the contents of an internal table. This mode allows you to display and edit the entries in an internal table. also:
    Processing Internal Tables
    Breakpoints
    A scrollable display containing up to 30 breakpoints. Next to each breakpoint is a counter. You can also delete breakpoints in this display. See also:
    Managing Dynamic Breakpoints
    Watchpoints
    You can set a watchpoint for a field so that the program is interrupted whenever the value of that field changes. This display mode contains a list of watchpoints, the fields and programs to which they are assigned, the current values of the fields, and the conditions upon which the watchpoint is activated. See also:
    Setting Watchpoints
    Calls
    This mode displays the current sequence of events, and the sequence of calls up to the current breakpoint. The last active call is displayed at the top of the list; previous calls are listed in reverse chronological order. When an event (for example, START-OF-SELECTION) concludes, it is deleted from the display.
    Overview
    This mode displays the structure of the program. It lists its events, subroutines, and modules, and shows which sections belong to which events. It also displays the section currently being processed.
    Settings
    This mode displays the current Debugger settings. You can change the settings by selecting or deselecting various options. For further information, refer to:
    Settings and Warnings
    In case you have any further clarifications,do let me know.
    Regards,
    Puneet Jhari.

  • RangeError: Maximum call stack size exceeded

    Dear all,
    we are executing and EDGE project in a Samsung SmartTV.  In more powerful models (more memory and cpu) the execution is correct. but in some old TV models we receive the following  message:
    File:   file://c/........../EDGE_006/edge_includes/edge.2.0.1.min.js
    Line No:  135
    Error Detail: RangeError: Maximum call stack size exceeded.
    It seems that this happens depending on the complexity of the EDGE project, as for some simple projects it works.
    we would like to adjust our EDGE project for this less powerful models modifiying animations and simplifying complexity, but we dont know where to start (which animations to remove, etc.)
    Or if there are some parameters in the edge API to adjust in order to increase performance in low memory browsers.
    Thank you in advance,
    Luis

    sunil-online wrote:
    > I am calling an external DLL and running it in the UI thread. How much
    > stack space is available when they are on separate threads or on the
    > UI thread?
    >
    > The problem is that I am getting seemingly random crashes while
    > running this VI and after I quit labview after stopping and uninit-ing
    > my DLL.
    Unless you know this DLL is using exceedingly lots of stack (at least
    several dozens of MB) for whatever obscure reasons it is very unlikely
    that running out of stack space is causing your problem. More likely
    either the DLL does something nasty to a data pointer passed in to it or
    you made an error in setting up the call to the DLL.
    For instace if the DLL expects strings or array pointers to be passed in
    they need to
    be allocated by the caller (here LabVIEW) and you need to
    tell LabVIEW to do that in the diagram code.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • Superdrive in G4 no longer working

    Since I upgraded to 10.5, the original superdrive in my G$ is no longer workig. It does not read DVDs that I insert. I can put them in the Panasonic drive I installed in the lower bay and they work fine. How can I tell if the Superdrive is bad or if

  • JAVA ERROR MESSAGE WHEN POSTING CHANGES TO OC4J

    We are using Oracle9iAS v1.0.2.2.2a. From the Client we succed in posting and commiting changes to our BC4J on the Middletier. The next time we postchanges we get the following exeption on the OC4J AS: oracle.jbo.DMLException: JBO-26080: Error while

  • Problem with my rollovers working in Safari

    Hello if you go to http://www.enhancedwireless.net/Company/TEST.shtml and rollover "(ODMA)" you should get a disjointed rollover of a 301 x 167 gif image. However, while this works in latest mac FF and Netscape, it doesn't work at all in Safari 1.3.2

  • Featured of iTunes Store of Hong Kong is not working

    When I press Featured, an error says "Your request could not be completed" "Items you've requested is not currently available in Hong Kong Store". What happens?

  • Exporting Movie

    I have upgraded to the newest FCPX and have just finished a short video to export. Before it was real easy and now when I export it (share) I see no place that the process is actually happening but when I open the background task window it shows that