How to continue after dbx breakpoint?

Hello,
I think this will be a very easy question:
I am using dbx for investigating memory leaks in a C++ program on a SUN machine. As the memory leak is located in an (internal) platform piece of code, the depth of the stack trace is only two levels (one lowlevel and one internal platform lowlevel).
As it takes quite some time to solve this internal platform code, I prefer to avoid the usage of the internal platform function in which the memory leak is detected. In order to do this, I need to know where I use the mentioned function.
As I did not succeed showing this information in the stack trace I have decided to put a breakpoint on the leaking function, launching the process and showing the stack trace (with the dbx "where -l" command) the mentioned breakpoint is reached.
My idea was to have something more or less like this:
(dbx) run <parameters>
(dbx) stopped at <breakpoint>
(dbx) where -l
[1] <lowlevel file>.<lowlevel function> at <lowlevel address>
[2] <platform file>.<platform function> at <platform address>
[3a] <process file_a>.<function_a> at <address_a or line number_a>
(dbx) cont
(dbx) stopped at <breakpoint>
(dbx) where -l
[1] <lowlevel file>.<lowlevel function> at <lowlevel address>
[2] <platform file>.<platform function> at <platform address>
[3b] <process file_b>.<function_b> at <address_b or line number_b>
(dbx) cont
(dbx) stopped at <breakpoint>
(dbx) where -l
[1] <lowlevel file>.<lowlevel function> at <lowlevel address>
[2] <platform file>.<platform function> at <platform address>
[3c] <process file_c>.<function_c> at <address_c or line number_c>
so that I would know the process files/functions a, b, c and would be able to avoid the usage of the leaking function.
Now the problem: If I use this procedure, the "cont" command does not go until the next time the breakpoint is reached, but always stays at the same place, as the breakpoint blocks the continuation of the execution.
Is there a dbx command that says "step over this breakpoint and continue execution until the next breakpoint"?
I have already tried with "step n" and "next" but as my code is compiled without the '-g' compiler option, these commands don't work.
Thanks
Dominique

Okay, so if it's sparc then I don't know what happened; if it's x86 then I probably do.
There's a bug in Solaris' procfs introduced with the following patches that can make (and will make in most cases) dbx hang when using RTC on x86 machines:
- Solaris 9 x86: 118559-10
- Solaris 10 x86: 118822-19
If you have those patches, you'll need to either uninstall them or wait for the bug to be fixed.
You can check patch presence with
$ showrev -p | grep <patch id>

Similar Messages

  • PL SQL with multiple inserts, how to continue after exception is raised

    Hi,
    I have a simple PL SQL function with various inserts. ex:
    Insert Into "DI01"."DUA_DIM_UNITE_ADMIN" (Ide_Unite_Admin_Sk, Num_Unite_Admin, Des_Unite_Admin) Values ('-1', '00000000', 'Défaut');
    INSERT INTO "DI01"."DUA_DIM_UNITE_ADMIN" (IDE_UNITE_ADMIN_SK, NUM_UNITE_ADMIN, DES_UNITE_ADMIN) VALUES ('-2', 'S. O.', 'Sans Objet');
    Insert Into "DI01"."DCU_DIM_CATGR_UNSPS" (Ide_Catgr_Sk, Num_Code, Des_Code, Num_Catgr, Des_C.........
    I want to be able to run the function multiple times, and have all the inserts executed everytime, even if I get a ORA-00001 unique constraint (string.string) violated error in on of the inserts. That means that if I get an error in the first insert, I want the function to continue running and executing the consecutive inserts.
    I though of including each insert in a different block, like:
    BEGIN
    Insert......
    When Exception then null;
    END;
    BEGIN
    Insert......
    When Exception then null;
    END;
    But I have at least 50 inserts, so the final code becomes huge.
    Another solution is to use merge inseat of insert, but the code seems too complex for such a simple task.
    Is there any other solution for this that I am not seeing?
    Thank you for your time,
    Joao Moreira

    You can use DML error logging approach or FORALL SAVE EXCEPTIONS.
    Since you didn't mention the version I assume you are using 11g.
    Below is the sample code for DML error logging mechanism
    SQL> select * from v$version;
    BANNER                                                                         
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production   
    PL/SQL Release 11.2.0.3.0 - Production                                         
    CORE 11.2.0.3.0 Production                                                     
    TNS for Linux: Version 11.2.0.3.0 - Production                                 
    NLSRTL Version 11.2.0.3.0 - Production                                        
    SQL> DROP TABLE tableA;
    Table dropped.
    SQL> DROP TABLE Err$_tableA;
    Table dropped.
    SQL>
    SQL> CREATE TABLE tableA
      2  (
      3     col1   NUMBER PRIMARY KEY,
      4     col2   NUMBER,
      5     col3   VARCHAR2 (10)
      6  );
    Table created.
    SQL>
    SQL> -- Create error log table
    SQL>
    SQL> BEGIN
      2     DBMS_ERRLOG.create_error_log (dml_table_name => 'TABLEA');
      3  END;
      4  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> BEGIN
      2     FOR i IN (SELECT 1 AS col1 FROM DUAL
      3               UNION ALL
      4               SELECT 1 FROM DUAL)
      5     LOOP
      6        INSERT INTO tableA (col1)
      7             VALUES (i.col1)
      8                LOG ERRORS INTO Err$_tableA REJECT LIMIT UNLIMITED;
      9     END LOOP;
    10 
    11     COMMIT;
    12  END;
    13  /
    PL/SQL procedure successfully completed.
    SQL> column column_name format a30
    SQL> set linesize 300
    SQL> select * from tableA;
    SQL> select * from err$_tablea;
    Thanks,
    GPU

  • How to continue after Quiz results page?

    Hi their,
    I have published my quiz in AICC and SCORM complaint mode but
    when I browse the output of the export and take the quiz, I come to
    the final screen of "Your Score" but than the "continue" button
    does not work.
    Where do I set the custom LMS setting or my personal
    solution, is it inside the Manage Quiz section or is it in the
    Publish settings section?
    any guidance will be very helpful as I just started to
    research this yesterday as my client has already purchased the
    software and asking for me to help them out.
    Thanks in advance,
    Wasay

    I setup now to Open URL on pass or fail but when I click the
    continue nothing happens.
    I even gave the full
    http:// ... /filena.html and even then nothing
    is happening in the browser?
    what can I do about it? does the actions take place in the
    background and thats why I am unable to see any changes on the
    flash file screen?

  • How to continue after replicat abended?

    Hi,
    If my replicat abended fron user error - how do I proceed?
    With streams we sometimes fix the row (update/delete/insert) and did retry all error and sometimes we just expdp the data...

    Find out what the error is/was. Use a discard file, add in your own exception handling, look at the replicat report/ggsevt log. Fix and then restart the replicat.

  • I could not see how to continue after upgrade to firefox 4. This has never been a problem with ast upgrades. I am finding Firefox to be very user unfriendly for non-tech people.

    I am being told that my current version of firefox is no longer protected. When I tried to upgrade to firefox 4 some time ago, the menu bar(?) was gone--no bookmarks. I set my computer back to an earlier date to get my book marks back and have been afraid to attempt this upgrade again. Firefox also appears to have tried to do the upgrade automatically and says I have incompatible add-ons. I have never had problems with previous updates. I have read negative reviews of firefox 4 and am frankly afraid of it. I hate to leave firefox and am afraid of losing my book marks as well. I find the "Help" forums etc. here extremely difficult to navigate and they seem to be aimed at people who are more tech savy than many of us are.

    #Firefox 3.5.19 which you are using is no longer supported and is not being updated for any issues, including security problems.
    #The Menu Bar (File, Edit, View, History, Bookmarks, Tools, Help) was replaced in Firefox 4 by the "Firefox button" in the upper left corner
    #*You can turn the Menu Bar back on by doing one of the following in Firefox 4:
    #**click Firefox button, click Options, click Menu Bar to select it
    #**HOLD down the ALT key while pressing the keyboard letters VTM
    #**right-click on an empty space in the Navigation Toolbar, then click Menu Bar to select it.
    #Some information about Firefox 4 changes:
    #*https://www.mozilla.com/en-US/firefox/features/
    #*there is a link "watch the video" under '''''Improved Interface''''' on the above page
    #You can make Firefox 4 look more like prior versions: http://www.computertechtips.net/64/make-firefox-4-look-like-ff-3-6/
    Your bookmarks should be safe during the upgrade; they are in a separate place on your hard drive. You should keep them backed-up in case of any problems with your system. See:
    *https://support.mozilla.com/en-US/kb/Backing%20up%20your%20information#w_backing-up-your-profile
    *http://kb.mozillazine.org/Profile_backup
    *http://kb.mozillazine.org/Profile_folder_-_Firefox

  • How can I measure a current continually after switching it to a DMM?

    Whether a current could be measured continually after switching it to a DMM? How to write the scan list? 
    I tried many times and failed. 
    Thanks advance
    小木虫

    Hi 小木虫,
    Ignore my first reply.  I misunderstood your question and provided an example of how to create a "make before break" scan list entry.  You do not need this for your application.  I think "break before make" will suffice.
    I now understand that you want to make multiple current measurements after creating a switch connection.  The scan list entry you provided: r2->c0 & r3->c1; will create the connection required for the DMM to measure the current flowing between c0 and c1.  However, the DMM will send a trigger back to the switch after making its first measurement.  
    One way to make multiple measurements is to create multiple connection entries in the scan list.  Each scan list entry triggers the DMM to make one measurement.  I don't like this idea much, as it will actuate the relay many times (once for each measurement). 
    Is hardware-timed operation necessary?  If you used a switch software trigger, you could make the scan list connection (r2->c0 & r3->c1; ) and then begin a DMM multi-point acquisition.  Once you've collected all the required current measurement samples, you could send another switch software trigger to continue with the next scan list entry. 
    Will this work?
    Chad Erickson
    Switch Product Support Engineer
    NI - USA
    Message Edited by Chad PSE on 02-20-2009 01:51 PM

  • How to continue to read Object from a file?

    At some program I write an object into a file. This program will be called again and again so that there are many objects which are saved to that file. And I write another program to read object from this file. I can read the first object but can not read the second. However if I delete the object in that file (using editplus, by manually) I can read the second. Because now the second object is the first object. (Delete first object).
    The exception when I read the second object is below:
    java.io.StreamCorruptedException: Type code out of range, is -84
         at java.io.ObjectInputStream.peekCode(ObjectInputStream.java:1607)
         at java.io.ObjectInputStream.refill(ObjectInputStream.java:1735)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:319)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:272)
         at LogParser.main(LogParser.java:42)
    Exception in thread "main" The read object from file program is below:
         public static void main(String[] args) throws Exception {
            FileInputStream fis = new FileInputStream(path + File.separator + "ErrorApp21config2.log");
            ObjectInputStream ois = new ObjectInputStream(fis);
            ErrorLog errorLog = (ErrorLog)ois.readObject();
            System.out.println(errorLog.getErrorDate());
            FIFData fifData = (FIFData)errorLog.getErrorDescription();
            CommRegistration commRegistration = (CommRegistration)
                                     fifData.getDataObject(FIFData.REGISTRATION_DATA);
            String ic = commRegistration.getPatient().getPatExtID();
            System.out.println(ic);
            CommQueue commQueue = (CommQueue) fifData.getDataObject(FIFData.QMS_DATA);
            String location = commQueue.getLocation();
            System.out.println(location);
            ois.readObject();  //will throw above exception
            fis.close();
         }Can anyone tell me how to continue to read object? Or I should do some special things when I write object into file?

    Thanks Jos.
    Perhaps you are correct.
    There are some code in a SessionBean to log an object. Write file code is below.
         private void logPreRegError(
              byte[] strOldFifData,
            byte[] strNewFifData,
              String requestID)
              throws TTSHException {
              if (requestID.equals(RequestConstants.ADMIT_PATIENT)){
                String runtimeProp = System.getProperty("runtimeproppath");
                FileOutputStream fos = null;
                   try {
                        fos = new FileOutputStream(
                            runtimeProp + File.separator + "Error.log", true);
                    BufferedOutputStream bos = new BufferedOutputStream(fos);
                    bos.write(strOldFifData);
                    bos.write(strNewFifData);
                    bos.flush();
                   } catch (FileNotFoundException e) {
                        log(e);
                   } catch (IOException e) {
                    log(e);
                   } finally{
                    if (fos != null){
                             try {
                                  fos.close();
                             } catch (IOException e1) {
                                  log(e1);
         }strOldFifData and strNewFifData are the byte[] of an object. Below is the code to convert object to byte[].
         private byte[] getErrorData(FIFData fifData, boolean beforeException, String requestID) {
            ErrorLog errorLog = new ErrorLog();
            errorLog.setErrorDate(new Date());
            errorLog.setErrorDescription(fifData);
            errorLog.setErrorModule("Pre Reg");
            if (beforeException){
                errorLog.setErrorSummary("RequestID = " + requestID +" Before Exception");
            }else{
                errorLog.setErrorSummary("RequestID = " + requestID +" After Exception");
              ByteArrayOutputStream baos = null;
              ObjectOutputStream oos = null;
              byte[] bytErrorLog = null;
              try {
                  baos = new ByteArrayOutputStream();
                   oos = new ObjectOutputStream(baos);
                  oos.writeObject(errorLog);
                  oos.flush();
                  bytErrorLog = baos.toByteArray();
              } catch (IOException e) {
                   log(e);
              } finally {
                if (baos != null){
                        try {
                             baos.close();
                        } catch (IOException e1) {
                             log(e1);
              return bytErrorLog;
         }I have two questions. First is currently I have got the log file generated by above code. Is there any way to continue to read object from log file?
    If can't, the second question is how to write object to file in such suitation (SessionBean) so that I can continue to read object in the future?

  • How to continue double sided scan if paper feed error.

    I was scanning a double sided 100+ page document in a paper feed single side scanner. Upon completed scan of the first side, adobe acrobat prompted to turn over the stack and begin scan of the reverse side of the last page. After doing this the paper went into my scanner crooked somehow (feeder errror perhaps) and caused a paper jam. After fixing the paper jam and pressing continue on the popup... Adobe Acrobat canceled the rest of the scan instead of prompting to continue the scan after the error. This is extraordinarily aggravating. How to I go about continuing the scan process so that the pdf document is made in proper order??? I Googled "How to continue Adobe Acrobat pdf scan of reverse side if paper jam" and similar search phrases and found NO relevant results explaining how to do this.

    Which scanner, OS platform and acrobat version are you using?

  • Macbook won't respond until moved, especially during authentication. Continued after upgrade to Lion.

    My Macbook won't respond until I physically pick it up and move it, especially during authentication. This continues after upgrade to Lion. How can I resolve this?

    This is almost certainly a hardware problem, that will require the skills of a certified Apple repair shop to fix.

  • BDC - continue after error

    Hi,
    1) How do I make the BDC that I am working on continue in the background, even if there is an error (Say a field isn't filled in or the entry is not valid, which can occur when a certain entered number does not exit in the database.)
    It should continue from the record following the one that caused an error.
    2) When the error occurs, I want to mark one field with the value 'X'. This is done, so that after all processing is complete, I will display a write screen with a field from the table, where the last field is marked as x.
    Thanks,
    John

    hi
      s...the error record will be skipped and the bdc will continue with the next record, if the mode is N
    chk this thread
    BDC - continue after error
    if helpful, reward
    Sathish. R

  • How to refresh after delete the records in ALV report ?

    Hi Friends,
    How to refresh after delete the records in ALV report.
    I am deleting records in ALV report .
    After successful delete the screen should refresh.
    u201C Deleted records should not appear in the screen u201C.
    Please guide me.
    Regards,
    Subash

    Hi subhash,
    FORM user_command USING r_ucomm LIKE sy-ucomm      rs_selfield TYPE slis_selfield.
    WHEN 'BACK'.
    Refresh the internal table from the ALV grid
          PERFORM update_alv_tab.
    ENDFORM.                    "user_command
    FORM update_alv_tab .
      DATA :  e_grid TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = e_grid.
      CALL METHOD e_grid->check_changed_data.
      "update_alv_tab
      CALL METHOD e_grid->refresh_table_display.
    ENDFORM.                    " UPDATE_ALV_TAB
    Then see in Debug mode is it updating or not..
    Please confirm .
    And please paste the code if you can.
    Regards.

  • How to continue the screen in Screen -painter?

    Hi friends can anybody help me out in knowing how to continue the fields in screen painter. For clear explanation i have got 20 fields to be entered in my form, but when i am going to layout of screen painter i have been able to accomadate only 12 the rest 8 i want to be in continuation.
    hope you can under stand.
    suppose if this is the layout
                                     Registration
    01. ......
    02. ,,,,,,
    12. ,,,,,,,,
    i have accomadated in one single screen
    i want to accomadate the rest 8 in continuation can i know how?
    please its urgent for me.

    hi
    increase the window size.
    regards
    sreelatha gullapalli

  • How to stop  after first loop operation  over?

    Hi friends.
    How to stop  after first loop operation  over?
    I have a loop operation in module pool program.
    After first loop over I want to stop.
    I used the STOP keyword, but it is going to dump.
    Thanking you.
    Regards,
    Subash

    Hey,
    The statement STOP is forbidden in methods and, since release 6.10, leads to an uncatchable expection during the processing of screens called with CALL SCREEN...
    As they said above, use a EXIT statement to fix this DUMP...
    Regards,
    Diogo Carvalho

  • How to continue the running process behind the model dialogue box options ?

    How to continue the running process behind the model dialogue box options like this
    In Updation of K7 user press the Cancel Button
    New dialogue box appear with Yes/No options.
    But the backend updation is going on... not Pause the updation.
    Like this how to do ?
    Please provide me code.

    I don't know, if you mean you have done your form or you have solved the problem.
    It's visible your code is only partly reflecting your screenshot, and that's okay to demonstrate the problem you have given a fine example.
    As you marked my suggestion as solution this may not be needed anymore, but here's how I modified your code and used a self made QuestionBox instead of messagebox.
    The essential part is defining a callback method and letting the QuestionBox call back there. It's not essential I used RAISEEVENT, but it's fine as it has all the behaviour and parameters needed to call back.
    Public oTestFrm
    oTestFrm=Createobject("MyForm_Model_to_NonModel")
    oTestFrm.Show
    Define Class MyForm_Model_to_NonModel As Form
    onxx = 0
    Add Object lbl_DispValue As Label With Top=90, Left = 120, Width = 50, Height=30, Caption=''
    Add Object cmd_Start As CommandButton With Top=120, Left = 120, Width = 50, Height=30, Caption='Start'
    Add Object cmd_Stop As CommandButton With Top=120, Left = 190, Width = 50, Height=30, Caption='Stop', Enabled =.F.
    Procedure cmd_Start.Click
    This.Enabled =.F.
    Thisform.cmd_Stop.Enabled =.T.
    Thisform.onxx = 0
    Do While Thisform.onxx < 90000000
    DoEvents
    Thisform.onxx = Thisform.onxx +1
    Thisform.lbl_DispValue.Caption = Transform(Thisform.onxx)
    Enddo
    This.Enabled =.T.
    Thisform.cmd_Stop.Enabled =.F.
    Thisform.lbl_DispValue.Caption = ''
    Procedure cmd_Stop.Click
    * Here, I want NO PAUSE -- (Show running numbers continuously...)
    * how to control Model to NonModel in Messagebox.
    QuestionBox('Really stop the process', Thisform, 'handleanswer')
    Endproc
    Procedure handleanswer
    Lparameters tlYes
    If tlYes && means Stop
    Thisform.onxx = 99999999999999999
    Endif
    Endproc
    Enddefine
    Procedure QuestionBox()
    Lparameters tcMessage, toCaller, tcCallback
    If Not Pemstatus(_Screen,"oForms",5)
    _Screen.AddObject("oForms","Collection")
    Endif
    oMsgBox = Createobject("QuestionBoxForm", tcMessage, toCaller, tcCallback)
    _Screen.oForms.Add(oMsgBox)
    oMsgBox.Show(2)
    Endproc
    Define Class QuestionBoxForm As Form
    Autocenter = .T.
    AlwaysonTop = .T.
    Minwidth = 200
    Add Object label1 As Label With AutoSize=.T., WordWrap =.T.
    Add Object cmdYes As CommandButton With Caption = "Yes", Width=40
    Add Object cmdNo As CommandButton With Caption = "No", Width=40
    Procedure Init()
    Lparameters tcQuestion, toCaller, tcCallback
    Thisform.label1.Caption = tcQuestion+" ?"
    This.AddProperty("oCaller",toCaller)
    This.AddProperty("cCallback",tcCallback)
    This.Width = Max(This.Minwidth, Thisform.label1.Width)
    Thisform.label1.Left = (This.Width-Thisform.label1.Width)/2
    This.Height = Thisform.label1.Height+48
    This.cmdYes.Left = This.Width/2 - 10 - This.cmdYes.Width
    This.cmdNo.Left = This.Width/2 + 10
    This.cmdYes.top = Thisform.label1.Height+24
    This.cmdNo.top = This.cmdYes.top
    Endproc
    Procedure cmdYes.Click
    #Define clYes .T.
    Raiseevent(Thisform.oCaller,Thisform.cCallback,clYes)
    Thisform.Release()
    Endproc
    Procedure cmdNo.Click
    #Define clNo .F.
    Raiseevent(Thisform.oCaller,Thisform.cCallback,clNo)
    Thisform.Release()
    Endproc
    Enddefine
    I didn't yet introduced a timer for counter display updates. As you see the counter hangs a bit, if you mouse over your form, but it is a way of multithreading without using a separate thread and instead keep the rest of the application active by DOEVENTS
    in the long running loop code.
    Bye, Olaf.
    Olaf Doschke - TMN Systemberatung GmbH http://www.tmn-systemberatung.de

  • How to resolve After Effects CC 2014 error:

    how to resolve After Effects CC 2014 error: Could not create the file '/Users/User/Library/Preferences/Adobe/After Effects/13.0/dummy'.
    Every time I try launch any of my CC programs, i keep getting this error message, has anyone come across this before?
    I tried uninstalling and but still got the same error after the reinstalling

    fixing permissions problem that impedes start of Adobe applications

Maybe you are looking for

  • Itunes wont recognize

    I have a macbook with the newest version of osx and have two ipods. I have a 5th generation video and a old 10gb. I have two itunes libraries, one for each one. My computer wont recognize the old ipod, but will recognize the 5th generation. I have tr

  • Transferring from one asset to multiple assets

    Dear SAPians How can we transfer from one asset to more than one assets. Can we do it thru ABUMN or there's any other way? Regards Zain

  • NoClassDefFoundError When Running the  InitialContextExample !

    I am trying to run the JNDI example program InitialContextExample.java. I am           able to compile the program OK but I run into the following error when I try           to create the InitialContext object:           java.lang.NoClassDefFoundErro

  • Can two user can logon into sap b1 8.8 as like sab b1 2005

    Hi All Expert,        As we know that as like SAP B1 2005 we two user can logon into sap from a user id , My question is can we do the same on sap 8.8 also.. Regards, Inder.

  • Please someone have Microsoft call me!  I found an issue with Outlook!

    Papaseh has inspired me to look for a setting in Outlook. I have found that setting. And it took me many days by the way to find this setting - however I am not telling anyone about it. In fact, I am holding this newly found setting for ransom for $1