protected override UnifiedBlockingObject GetUnifiedBlockingObjectForHandle(UnifiedHandle handle) { var handleInfo = _handles.SingleOrDefault(h => h.Handle == handle.Value); if (handleInfo == null) { return(base.GetUnifiedBlockingObjectForHandle(handle)); } return(new UnifiedBlockingObject(handleInfo)); }
protected void AddSingleWaitInformation(UnifiedStackFrame frame, ulong handleValue) { // TODO The process id can't be zero, or this will always fail! // Currently we are running the stack walker only for dump files, which means // we don't have an id to run DuplicateHandle against. var typeName = GetHandleType((IntPtr)handleValue, 0); var objectName = GetHandleObjectName((IntPtr)handleValue, 0); UnifiedHandle unifiedHandle = new UnifiedHandle(handleValue, typeName, objectName); frame.Handles.Add(unifiedHandle); }
protected override UnifiedBlockingObject GetUnifiedBlockingObjectForHandle(UnifiedHandle handle) { var handleInfo = _handles.SingleOrDefault(h => h.Handle == handle.Value); if (handleInfo == null) return base.GetUnifiedBlockingObjectForHandle(handle); return new UnifiedBlockingObject(handleInfo); }
protected virtual UnifiedBlockingObject GetUnifiedBlockingObjectForHandle(UnifiedHandle handle) { return new UnifiedBlockingObject(handle.Value, handle.ObjectName, handle.Type); }
protected virtual UnifiedBlockingObject GetUnifiedBlockingObjectForHandle(UnifiedHandle handle) { return(new UnifiedBlockingObject(handle.Value, handle.ObjectName, handle.Type)); }