Lines 478-483
Link Here
|
478 |
return; |
478 |
return; |
479 |
} |
479 |
} |
480 |
tentativeGdb.setExecutor(executor); |
480 |
tentativeGdb.setExecutor(executor); |
|
|
481 |
tentativeGdb.setPid(pid); |
481 |
} |
482 |
} |
482 |
|
483 |
|
483 |
/* OLD |
484 |
/* OLD |
Lines 678-684
Link Here
|
678 |
* Interrupt the program (note that unlike almost every other debugging |
679 |
* Interrupt the program (note that unlike almost every other debugging |
679 |
* action, we're NOT asking dbx to do it - this we're actually doing |
680 |
* action, we're NOT asking dbx to do it - this we're actually doing |
680 |
* ourselves!! |
681 |
* ourselves!! |
|
|
682 |
* |
683 |
* On embedded targets SIGINT must be set to GDB, not the target process |
684 |
* Target PID is returned as 42000 from gdb. |
681 |
*/ |
685 |
*/ |
|
|
686 |
private int gdbpid; |
687 |
void setPid(int pid) { |
688 |
gdbpid = pid; |
689 |
} |
690 |
|
682 |
boolean pause(int pid, boolean silentStop) { |
691 |
boolean pause(int pid, boolean silentStop) { |
683 |
// The following predicate is _not_ the same as isReceptive() |
692 |
// The following predicate is _not_ the same as isReceptive() |
684 |
if (debugger.state().isRunning && debugger.state().isProcess) { |
693 |
if (debugger.state().isRunning && debugger.state().isProcess) { |
Lines 686-692
Link Here
|
686 |
try { |
695 |
try { |
687 |
signalled = true; |
696 |
signalled = true; |
688 |
this.silentStop = silentStop; |
697 |
this.silentStop = silentStop; |
689 |
signaller.interrupt(pid); |
698 |
signaller.interrupt(pid != 42000 ? pid : gdbpid); |
690 |
} catch(java.io.IOException e) { |
699 |
} catch(java.io.IOException e) { |
691 |
ErrorManager.getDefault().annotate(e, |
700 |
ErrorManager.getDefault().annotate(e, |
692 |
"Sending kill signal to process failed"); // NOI18N |
701 |
"Sending kill signal to process failed"); // NOI18N |