Table of Contents

RDC20001 — Edit not applied to the waiting program

Severity: Information  ·  Family: RDC (Rubberduck Core, the debugger and edit-and-continue)  ·  Raised by: the language server, while a program waits in the debugger

A program waits - at a breakpoint, a Stop, a step - and you edited its code. Most edits are picked up when the program goes on: the code of a procedure it is not in, a declaration you added, a value read afresh the next time it is used. This edit is not. The program can't go on with it, and picks it up when it is run again - or, when the code no longer compiles, it can't go on until the code is corrected.

The finding is on the declaration or the procedure you edited, where it is now - or, when the code no longer compiles, where it does not - and says why. It goes away when you take the edit back, or when the program is over. Asked to go on - Continue, a step, Set Next Statement - the program is refused, with the same edits named, and it waits still: end it and run it again to have the edits - or, when the code does not compile, correct it, and the program goes on.

MS-VBA asks the same of you, with a prompt at the edit: "This action will reset your project, proceed anyway?". RD-VBA tells you instead, and lets you keep the program as it is until you choose.

Debugging in HexIDE

A program HexIDE debugs runs in the debug adapter's own session, which no editor tells of your edits. Save the file to have an edit applied: what is saved is read when you continue, step or set the next statement, and checked then. An edit you have not saved is not seen. The edits the program can't go on with are said in the debugger's output, as the program is refused, and not as this diagnostic: the list of problems shows the language server's findings, and the program is not running there.

How it is raised

Situation Example Resolution
The edit can't be applied to the program as it waits. A parameter added to a procedure the program is in; a module variable that holds a value given another type Run the program again. Or take the edit back, and go on.
No build of RD-VBA applies it yet. A local added to the procedure the program waits in Run the program again; a later build goes on with it.
The code does not compile any more. A procedure another module calls, renamed Fix the code: there is no program to go on with until it compiles.

See also


ACCUEIL • HOME | ℹ️ BIENVENUE • WELCOME | 🧩 BÂTISSONS • BUILD | RD-VBAL | SDK | 🌐 rubberduckvba.ca