Доступ к внутренним исключениям при сборке с использованием cs c .exe - PullRequest
2 голосов
/ 21 февраля 2020

Я компилирую проект, используя csc.exe, с флагом /analyzer:, указывающим на пути ErrorProne.Net.CoreAnalyzers.dll и ErrorProne.Net.Core.dll, которые построены из моего клона библиотеки здесь .

Однако я вижу несколько сообщений об ошибках, подобных этим:

"предупреждение CS8032: экземпляр анализатора ErrorProne. NET .AsyncAnalyzers.ConcurrentCollectionAnalyzer не может быть создан из C: \ Repos \ RoslynExample \ RoslynExample \ ErrorProne. Net .CoreAnalyzers.dll: Исключение было вызвано целью вызова. "

" предупреждение CS8032: экземпляр анализатора ErrorProne. NET .AsyncAnalyzers .AddConfigureAwaitAnalyzer не может быть создан из C: \ Repos \ RoslynExample \ RoslynExample \ ErrorProne. Net .CoreAnalyzers.dll: Исключение было сгенерировано целью вызова. "

et c.

Я хотел бы получить больше отладочной информации, чтобы точно знать, когда и где выдается эти ошибки, а также их внутренние исключения. На данный момент эти сообщения об ошибках сами по себе бесполезны.

Важно, что я могу печатать трассировки стека (особенно внутренние исключения) на консоли или записывать их в файл .

Как получить копию трассировки стека?

ОБНОВЛЕНИЕ:

Я выяснил причину из этих ошибок: 1) создание консольного приложения, которое запускает анализаторы, созданные из моего клона исходного кода Error.Net, 2) отключение Just My Code и 3) взлом всех исключений. Хотя, наконец, замечательно выяснить, в чем проблема, она все же оставляет мой исходный вопрос без ответа: Как мне получить доступ к внутренним исключениям (чтобы я мог их отобразить позже), просто запустив csc.exe?

1 Ответ

0 голосов
/ 21 февраля 2020

вы пытались включить вывод трассировки?

     csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs

Может быть, эта статья будет вам полезна Как: условно компилировать с трассировкой и отладкой

...