public void JumpToCurrentLine() { if (debuggedProcess == null || debuggedProcess.SelectedThread == null) { return; } WorkbenchSingleton.MainWindow.Activate(); if (debuggedProcess.IsSelectedFrameForced()) { if (debuggedProcess.SelectedStackFrame != null && debuggedProcess.SelectedStackFrame.HasSymbols) { JumpToSourceCode(); } else { JumpToDecompiledCode(debuggedProcess.SelectedStackFrame); } } else { var frame = debuggedProcess.SelectedThread.MostRecentStackFrame; // other pause reasons if (frame != null && frame.HasSymbols) { JumpToSourceCode(); } else { // use most recent stack frame because we don't have the symbols JumpToDecompiledCode(debuggedProcess.SelectedThread.MostRecentStackFrame); } } }