Bug: 9111004 Sql Developer Debugger Watch List Does Not Resolve Array Indexed (Doc ID 1274242.1)

Last updated on OCTOBER 11, 2011

Applies to:

Oracle SQL Developer - Version: 1.5.4.59.40 to 2.1.1
Information in this document applies to any platform.

Symptoms


Using SQL debugger "Watches" tab on expressions with array that have
variables for indexes it does not get resolved and a "?" is returned instead of
values.

If you change the index from variable "a_test(v_ref)" to an actual value
"a_test(1)" it works as expected.

Running this procedure in Sql*Plus does print a value for "a_test(v_ref)" via the
DBMS_OUTPUT command.

Reproduced with the following steps:

STEPS
----------------
1. Script run to build the package spec
---------------------------------------------------------
create or replace PACKAGE WatchesTest AS
v_ref NUMBER;
type t_number is table of NUMBER index by binary_integer;
a_test t_number;
PROCEDURE WTest;
END WatchesTest;
/


2. Script run to build the package body
---------------------------------------------------------
create or replace PACKAGE BODY WatchesTest AS
PROCEDURE Wtest IS
BEGIN
v_ref := 1;
a_test(v_ref) := 101;
v_ref := 2;
a_test(v_ref) := 102;
dbms_output.put_line ('Start');
dbms_output.put_line (a_test(1));
dbms_output.put_line (a_test(v_ref));
END;
END WatchesTest;
/

3. Opened the connection
4. Drilled through to the package
5. Opened package and package body for editing
6. Compiled for debug (right clicked)
7. Clicked to the left of the body line 9 (or any dbms_output line) added a
break point
8. Ran debug (lady bug icon)
9. Went to watches tab, right clicked to add the expression "a_test(v_ref)" in
the bit map and viewed the '?'.
10. Changed the value in the "Watches" window to be "a_test(1)" or "a_test(2)"
and a value was returned.


Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms