Определить, выполняется ли код отладчиком? - PullRequest
1 голос
/ 24 октября 2019

У меня есть класс C # со свойством, которое использует System.IO.Ports.SerialPort для запроса данных с устройства.

При взломе программы с помощью отладчика при оценке этого свойства сначала отображается

Evaluation of method (...) calls into native method Microsoft.Win32.Win32Native.CreateEvent
(Microsoft.Win32.Win32Native+SECURITY_ATTRIBUTES, bool, bool, string).
Evaluation of native methods in this context is not supported.

, а затем, по-видимому, все еще пытается выполнить его, показывая

Function evaluation disabled because a previous function evaluation timed out. You must
continue execution to reenable function evaluation.

впоследствии и оставляет объект последовательного порта в недопустимом состоянии.

Я могу скрыть свойство ототображается при просмотре родительского объекта путем установки DebuggerBrowsableAttribute.

Однако при наведении указателя мыши на само имя свойства все равно оценивается свойство. Можно ли это тоже подавить или, по крайней мере, позволить коду обнаружить, что он выполняется в контексте отладчика, и пропустить его оценку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...