Search code examples
javadebuggingintellij-ideaissue-tracking

Why does intellij idea not kill the debug process immediately?


I'm using idea 2016.1.1 and wonder why idea does not kill the debug process immediately when I click the stop button.

E.g. use this piece of code to reproduce it

public class Main {

  public static void main(String[] args) {
    int i = 0;
    while (true) {
      i++;
      System.out.print("I'm still alive: ");
      System.out.println(i);
    }
  }
}

Set a breakpoint before the loop begins.

enter image description here

Start a debugging session, wait until it breaks and press the red stop button (CTRL-F2).

enter image description here

I would expect that the process is stopped immediately and that it does not print anything, but it prints:

"C:\Program Files\Java\jdk1.6.0_38\bin\java" ....
Connected to the target VM, address: '127.0.0.1:54394', transport: 'socket'
Disconnected from the target VM, address: '127.0.0.1:54394', transport: 'socket'
I'm still alive: 1
I'm still alive: 2
I'm still alive: 3
I'm still alive: 4
...
I'm still alive: 319
I'm still alive: 320
I'm still alive: 321
I'm still alive: 
Process finished with exit code -1

Why is the process not stopped immediately?

Is there another way to force an immediately stop?

EDIT

Just tried it with idea 14.1.5. The process stops immediately as expected. It seems that a bug was introduced with 2016.


Solution

  • When press Stop during a debugging session,
    The default behavior of IntelliJ Idea is not to kill the process immediately!.

    But if you need to change this behavior to kill the debugging process immediately
    Which I think that, should be the default behavior :)

    You can activate it via the Settings:
    Settings > Build, Execution, Development > Debugger >

    enter image description here