diff --git a/src/org/ntlab/traceDebugger/DebuggingController.java b/src/org/ntlab/traceDebugger/DebuggingController.java index 5e936cd..87d3598 100644 --- a/src/org/ntlab/traceDebugger/DebuggingController.java +++ b/src/org/ntlab/traceDebugger/DebuggingController.java @@ -257,13 +257,14 @@ } while (debuggingTp.stepFull()); } else { debuggingTp = goalTp; + while (!debuggingTp.stepOver()); // �Ăяo�����ł̎��̃X�e�[�g�����g�܂Ői�߂� } if (!debuggingTp.isValid()) { terminateAction(); MessageDialog.openInformation(null, "Terminate", "This trace is terminated"); return false; - } + } refresh(previousTp, debuggingTp, isReturned, true); return true; } @@ -277,7 +278,12 @@ } TracePoint previousTp = debuggingTp; debuggingTp = debuggingTp.duplicate(); - while (debuggingTp.stepOver()); + + // note: �Ăяo�����ɖ߂�܂Ői�ݑ����� + while (debuggingTp.stepOver()) { + previousTp = debuggingTp.duplicate(); + } + while (!debuggingTp.stepOver()); // �Ăяo�����ł̎��̃X�e�[�g�����g�܂Ői�߂� if (!debuggingTp.isValid()) { terminateAction(); MessageDialog.openInformation(null, "Terminate", "This trace is terminated"); @@ -311,14 +317,14 @@ } while (debuggingTp.stepFull()); } else { debuggingTp = startTp; - startTp.stepOver(); + while (!debuggingTp.stepOver()); // �Ăяo�����ł̎��̃X�e�[�g�����g�܂Ői�߂� } if (!debuggingTp.isValid()) { terminateAction(); MessageDialog.openInformation(null, "Terminate", "This trace is terminated"); return false; - } + } refresh(previousTp, debuggingTp, isReturned, true); return true; }