Я реализовал пользовательский TraceListener
, который регистрирует сообщения, отправленные методу Write
, и выводит их в трассировку Win32, используя функцию Win32 API OutputDebugString
. Всякий раз, когда мое приложение использует System.Diagnostics.Debug.Write
или System.Diagnostics.Trace.Write
, сообщения правильно обрабатываются прослушивателем трассировки.
Однако, если мое приложение сталкивается с утверждением, таким как System.Diagnostics.Debug.Assert
, я бы хотел перехватить то, что отправлено на вывод отладки. Каким-то образом прослушиватель трассировки не вызывается с сообщениями, созданными assert. Это возможно? Или я должен предоставить собственную реализацию Assert
, чтобы это работало?