Пример #1
0
 public ExceptionViewModel(ExceptionTraceData data, TraceCallStack stack, SymbolReader reader)
 {
     _data       = data;
     _stack      = stack;
     _reader     = reader;
     ProcessName = GetProcessName();
 }
Пример #2
0
        private static void ClrOnExceptionStart(ExceptionTraceData data)
        {
            var symbolReader = new SymbolReader(Console.Out, SymbolPath.MicrosoftSymbolServerPath);

            Console.WriteLine($"[{data.ProcessName}] Exception {data.ExceptionType} at {data.ExceptionEIP}");
            PrintStack(data.CallStack(), symbolReader);
        }
Пример #3
0
 public EventWrap(ExceptionTraceData etd)
 {
     DataAsString     = etd.ToString();
     ExceptionMessage = etd.ExceptionMessage;
     ProcessID        = etd.ProcessID;
     ExceptionType    = etd.ExceptionType;
     ProcessName      = etd.ProcessName;
 }
Пример #4
0
        private void OnExceptionStart(ExceptionTraceData data)
        {
            if (data.ProcessID != _processId)
            {
                return;
            }

            NotifyFirstChanceException(data.TimeStamp, data.ProcessID, data.ExceptionType, data.ExceptionMessage);
        }
        public void Process(ExceptionTraceData data)
        {
            var args = mapper.Map(data);

            foreach (var handler in handlers)
            {
                handler.Handle(args);
            }
        }
Пример #6
0
        private static void OnExceptionStart(ExceptionTraceData obj)
        {
            if (IgnoreProcess(obj))
            {
                return;
            }

            Console.WriteLine($"Exception thrown (PID:{obj.ProcessID}) ({GetProcessName(obj)}): Type: {obj.ExceptionType} : {obj.ExceptionMessage}");
            context.AddException(obj.ExceptionType);
        }
Пример #7
0
        private static void OnClrOnExceptionStart(ExceptionTraceData data)
        {
            var @event = new EventWrap(data);

            Hydrate(@event);

            if (_outputEnabled)
            {
                Print(@event);
            }
            else
            {
                _buffer.Enqueue(@event);
            }
        }
 public ExceptionArgs Map(ExceptionTraceData data) => new(data.TimeStamp, data.ProcessID, data.ExceptionType, data.ExceptionMessage);
Пример #9
0
 public ExceptionViewModel(ExceptionTraceData data)
 {
     _data       = data;
     ProcessName = GetProcessName();
 }