Skip to content

Commit 51447fe

Browse files
zadesaiEricJohnson327
authored andcommitted
Handle UnauthorizedAccessException in ETWHelper (#3228)
* catch UnauthorizedAccessException * stop before showing error
1 parent d30b18e commit 51447fe

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

tools/PI/DevHome.PI/Helpers/ETWHelper.cs

+18-9
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,27 @@ public void Start()
5555
session.Dispose();
5656
}
5757

58-
using (session = new TraceEventSession(sessionName))
58+
try
5959
{
60-
// Filter the provider events based on processId
61-
var providerOptions = new TraceEventProviderOptions { ProcessIDFilter = [targetProcess.Id] };
62-
foreach (var provider in ProviderList)
60+
using (session = new TraceEventSession(sessionName))
6361
{
64-
session.EnableProvider(provider, TraceEventLevel.Always, options: providerOptions);
62+
// Filter the provider events based on processId
63+
var providerOptions = new TraceEventProviderOptions { ProcessIDFilter = [targetProcess.Id] };
64+
foreach (var provider in ProviderList)
65+
{
66+
session.EnableProvider(provider, TraceEventLevel.Always, options: providerOptions);
67+
}
68+
69+
session.Source.Dynamic.All += EventsHandler;
70+
session.Source.UnhandledEvents += UnHandledEventsHandler;
71+
session.Source.Process();
6572
}
66-
67-
session.Source.Dynamic.All += EventsHandler;
68-
session.Source.UnhandledEvents += UnHandledEventsHandler;
69-
session.Source.Process();
73+
}
74+
catch (UnauthorizedAccessException ex)
75+
{
76+
Stop();
77+
WinLogsEntry entry = new(DateTime.Now, WinLogCategory.Error, ex.Message, WinLogsHelper.EtwLogsName);
78+
output.Add(entry);
7079
}
7180
}
7281
}

0 commit comments

Comments
 (0)