When executing SQL in debug window, you can easily end in a state, where the SQL can not be executed and the session can not be terminated.

Steps to reproduce:

I have a test window containing the code:
Code
begin
  null;
end;

I press F9 to debug and Ctrl-O to enter the code block.

I press the button 'Execute SQL in debug session...'

I enter the query:
SQL Query
SELECT * FROM v$session

and get the error:
Quote
ORA-06558: buffer in dbms_pipe package is full. No more items allowed
ORA-06512: at "SYS.PBREAK", line 1513
<...>

This, I believe, is by "design" and is a known limitation in the database.

I open the debug session SQL window again and rewrite my SQL into:
SQL Query
SELECT v$session.sid FROM v$session

and get the error:
Quote
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SYS.PBREAK", line 1363

I try again and get the error:
Quote
ORA-00900: invalid SQL statement

Sometimes I also get the error:
Quote
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.PBRPH", line 905
ORA-06512: at "SYS.DBMS_DEBUG", line 801

Sometimes is has helped to put a semicolon (;) at the end of the select to terminate the statement, but that does not help either.

This all ends in a loop that can not be terminated.

I can not break the debugger and eventually you will have to terminate PL/SQL developer via task manager to e.g. be able to compile program window.