Как я могу включить номера строк в трассировку стека без pdb?

Простейшая форма:

git show --stat (hash)

Это легче запомнить, и она предоставит вам всю необходимую вам информацию.

Если вы действительно хотите только имена файлов, вы можете добавить опцию --name-only.

git show --stat --name-only (hash)

30
задан Benjamin Pollack 7 August 2014 в 17:04
поделиться

4 ответа

Вы не можете получить трассировку стека с номерами строк непосредственно из вашего приложения, если вы не объедините PDB. Однако , если у вас есть файлы PDB для той же версии приложения, которую вы отправляете своим клиентам, и вы не возражаете против легких сценариев, тогда вы можете включить. Трассировка стека .NET и IL смещаются обратно в номера строк.

В процессе сборки используйте преобразователь pdb2xml Майка Столла , распространяемый как часть его превосходного отладчика управляемого кода MDbg , и сохраните их безопасное место (например, контроль версий). Когда вы получаете от клиента трассировку стека, вы можете запросить смещение IL из данных XML, чтобы определить соответствующий номер строки. Если ваши трассировки стека отправляются на веб-сайт, вы даже можете автоматизировать преобразование, чтобы разработчики уже получали полностью подробные трассировки стека к тому моменту, когда дела попали в их почтовый ящик.

35
ответ дан 27 November 2019 в 22:31
поделиться

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

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

Мы используем библиотеку log4net для наших нужд ведения журнала, я рекомендую вам взять взгляд.

1
ответ дан 27 November 2019 в 22:31
поделиться

Нет. Номера строк являются частью отладочной информации, которая хранится только в файле PDB. Это причина, по которой файлы PDB существуют в первую очередь.

8
ответ дан 27 November 2019 в 22:31
поделиться

Нет, нет. Вся информация, необходимая для отображения строк IL в исходный исходный файл и номер строки, хранится в PDB. Получить эту информацию в трассировке стека без PDB невозможно.

0
ответ дан 27 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

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