Не показывайте пути к файлам машины сборки в отслеживании стека [дубликат]

Этот вопрос уже имеет ответ здесь:

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

например:

at C:\Folder1\Folder2\Class1.cs:81
at C:\Folder1\Folder2\Class2.cs:65
at C:\Folder1\Folder1\Class3.cs:21

Только отображение исходных файлов без папок было бы хорошо...

Как я могу изменить это поведение?

Есть ли какое-либо встроенное решение? Или я должен просто сделать некоторую обработку строк?

23
задан bluish 15 November 2017 в 16:56
поделиться

2 ответа

У вас, вероятно, есть файлы .pdb с установленным приложением. Без файлов .pdb не должен отображать местоположения файлов.

Посмотрите на Получение номеров линии в отслеживании стека исключения в службе Windows

и включают номера строк в трассе стека без PDB?

Вы не можете получить трассировку стека Числа непосредственно из вашего приложения Если вы не связываете PDB.

23
ответ дан 29 November 2019 в 02:36
поделиться

Пути к файлам включены в "программную базу данных" (.pdb). Такие файлы создаются при компиляции и пути в них такие же, как и на машине компиляции.

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

Если вы хотите сохранить "интересную трассу стека", вы можете подумать о замене имен папок на строки после вызова exceptionObject.toString().

7
ответ дан 29 November 2019 в 02:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: