3 Replies Latest reply: May 1, 2014 6:26 PM by Jeff Smith Sqldev Pm-Oracle RSS

    Debugger Does Not Break on Breakpoints

    marcusafs

      I am running one of the tutoials, Testing and Debugging Procedures using SQL Developer 3.1 and am trying to run AWARD_BONUS in debug mode with a break on the select statement as directed by the tutorial.  The first time something about a problem with my firewall and I clicked OK on the error and the proc ran without breaking.  Of course I didn't make notes of the error and now I cannot reproduce it.  Is there a log that might explain what happened?  Can anyone help?  Here is the message output of the run.

       

      Connecting to the database hr_orcl.

      Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE

      Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '172.22.9.9', '50911' )

      Debugger accepted connection from database on port 50911.

      Executing PL/SQL: CALL DBMS_DEBUG_JDWP.DISCONNECT()

      Salary for Employee ID 149 currently is: 14900

      Commission Percentage for 149 currently is: .2

      Salary for Employee ID 149 will be changed to: 15300

      Process exited.

      Disconnecting from the database hr_orcl.

      Debugger disconnected from database.

       

       

      And here is the proc

      create or replace PROCEDURE award_bonus (

        emp_id NUMBER, sales_amt NUMBER) AS

        l_salary    REAL;

        l_commission    REAL;

        comm_missing  EXCEPTION;

      BEGIN

        SELECT salary, commission_pct INTO l_salary, l_commission    --********BREAK POINT SET HERE********

          FROM employees

            WHERE employee_id = emp_id;

          dbms_output.put_line('Salary for Employee ID '||emp_id||' currently is: '||l_salary);

          dbms_output.put_line('Commission Percentage for '||emp_id||' currently is: '||l_commission);   

        IF l_commission IS NULL THEN

          RAISE comm_missing;

        ELSE

          l_salary := l_salary  + sales_amt*l_commission;

          dbms_output.put_line('Salary for Employee ID '||emp_id||' will be changed to: '||l_salary);   

          UPDATE employees

            SET salary = l_salary

              WHERE employee_id = emp_id;

         

        END IF;

      END award_bonus;