Как получить отслеживание стека в.NET в нормальном выполнении?

В.NET VB я знаю, что могу получить отслеживание стека путем рассмотрения значения ex.StackTrace при обрабатывании исключения. Как я могу получить функции на стеке, когда я не обрабатываю исключение? Я надеюсь реализовывать какую-то систему регистрации для записи шагов, которые пользователь делает до катастрофического отказа для помощи в отладке.

10
задан Kit 1 December 2011 в 19:10
поделиться

3 ответа

Environment.StackTrace дает вам строку, но для более подробной информации и опций используйте класс StackTrace.

Чтобы быть более конкретным, проверьте опции конструктора:

http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.stacktrace.aspx

Если вам нужна трассировка стека, начинающаяся с кадра вызывающей стороны (например, в функции логирования: вы не хотите, чтобы все начиналось с MyLogMethod), попробуйте этот, который принимает параметр int, количество кадров, которые нужно пропустить.

http://msdn.microsoft.com/en-us/library/wybch8k4.aspx

Если вам нужна трассировка стека без исходной информации (например, если вы не хотите выдавать информацию о своем исходном коде), попробуйте этот:

http://msdn.microsoft.com/en-us/library/6zh7csxz.aspx

Надеюсь, это поможет!

19
ответ дан 3 December 2019 в 14:33
поделиться
System.Environment.StackTrace
7
ответ дан 3 December 2019 в 14:33
поделиться
7
ответ дан 3 December 2019 в 14:33
поделиться
Другие вопросы по тегам:

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