/// <summary> /// Refresh this pad on the main thread. /// </summary> public void InvalidatePad() { if (invalidatePadEnqueued || WorkbenchSingleton.Workbench == null) { return; } invalidatePadEnqueued = true; Dot42Addin.InvokeAsyncAndForget(() => { invalidatePadEnqueued = false; RefreshPad(); }); }
/// <summary> /// Add a breakpoint for the given bookmark. /// </summary> internal void AddBreakpoint(BreakpointBookmark bb) { try { if (bb.IsEnabled) { this.SetAtLocation(bb.FileName, bb.LineNumber, bb.ColumnNumber, bb.LineNumber, int.MaxValue, bb); } } catch (Exception ex) { Dot42Addin.InvokeAsyncAndForget(() => { bb.IsHealthy = false; bb.Tooltip = ex.Message; }); } }
protected override void RefreshPad() { LoggingService.Info("Local Variables refresh"); try { localVarList.WatchItems.Clear(); var debugger = Debugger; var process = Dot42Debugger.CurrentProcess; var frame = debugger.CurrentStackFrame; if ((frame == null) || (debugger == null) || (process == null) || debugger.IsProcessRunning) { return; } frame.GetValuesAsync().ContinueWith(t => { if (t.CompletedOk()) { Dot42Addin.InvokeAsyncAndForget(() => FillValues(t.Result)); } }); } catch (Exception ex) { MessageService.ShowException(ex); } }
/// <summary> /// Update the color and tooltip of the bookmark. /// </summary> private void InvalidateBookmark() { Dot42Addin.InvokeAsyncAndForget(OnUpdateBookmark); }