I recently went through the process of setting up debugging for SQL Developer VS Code. It took a while, and wanted to share some points that helped us get it set up, as well as ask a question.
First, I couldn't see this in VS Code (at least not anywhere I could figure out), but in the old SQL Developer I saw that when I started a debug session it called DBMS_DEBUG_JDWP.CONNECT_TCP. The second parameter is the port, and the port that was being called in my particular case was not in the 4000-4999 range. So we adjusted our ACL entry to be NULL for lower_port and upper_port (had to remove the earlier ACL entry and just create an entirely new one). I am not sure why the port being called would differ, but we thought it might be because of our database version (12c Release 2) OR because of some configuration on our DB server from who knows how long ago (and who knows what configuration).
Secondly, we finally got the debugger to work on one machine, but not my machine. The key to figuring this one out was in one of the articles that Jeff Smith linked in the article linked at the top. The author, Colm, states:
When debugging however, SQL Developer plays the listening role, and it is the database that initiates the session and performs the initial connect to the SQL Developer debugger listener.
We had to configure our Oracle database server to be able to communicate with my machine (it had already been set up to communicate with the other machine, which is why that one worked after we figured out the issue with the ports). The way to do this will differ depending on how your DB server is set up, I would imagine.
Anyways, wanted to share this in case it helps anyone else and also, I am curious if anyone can provide additional context so I better understand why the ports didn't line up.