Добавить INDENT?
Добавить INDENT?
Снова пятница и снова хочется странного.
Имеем Студию.
Имеем некоторый сторонний код.
Имеем PDB для этого кода.
Т.е. можно воткнуть брэйкпоинт и прописать что-там-надо.
Текущая проблема: если прописать с Актионс дамп каких-то данных - оно разумеется отдампится в дебуг-виндов.
Когда все линейно - этого достаточно - смотрим что интересно и думаем где и что править.
А вот когда идут косяком рекурсивные вызовы - начинается разбор того с какого уровня это пришло.
Странное, которого хочется, получить нормальные отступы - лесенкой, пропорционально глубине рекурсии.
Пока есть одна идея как это сделать - просмотреть стек на предмет вызовов той же функции.
Кто-нибудь видел решения? Или есть еще какие идеи?
добавить в вызов функции параметр - номер вложенности.
-----
Ну так в этом и вопрос - как его определить?
статиком в дополнительном классе.
------
Если Я правильно понимаю - предлагается руками трекировать вход и выход из функции?
Я этого как-то сильно не хочу - отслеживать по паре мест на одну запись? - да ну его нафиг...
Я не понял
------
Представь рекурсивную функцию.
Где-то в функции что-то считается.
Хочу:
- видеть эти данные
- видеть на каком уровне рекурсии они сброшены.
коллстэк всегда линейный
------
Из него можно получить имена функций => можно посчитать уровень рекурсии.
Так не работает.
Точнее - ты не понимаешл что именно меня интересует.
Поменяй параметер на double x и интересующие меня данные будут sin(x) и уровень рекурсии.
Пересчитать уровень из х - нельзя - он модифицируется еще где-то. Ну или нарисуй десяток параметров.
Хммм...
Поясню еще раз.
Есть некоторый код с рекурсивной функцией. Если критично знать какой именно System.xml.dll
В нем класс компилятора XSD -схем. Схемы, по определению, рекурсивны.
То, что меня интересует - посмотреть что именно обрабатывается и когда.
И смотреть мне хочется не разово в точке останова, а после прогона.
Потому на брейкпоинте прописывается Actions и в Debug window печатаются данные. Мне хочется иметь напечатанные данные с отступом зависящим от глубины рекурсии.
Ну и куда будем дописывать параметер? :)
А кто их туда выводит?
------
Их туда выводит прописанный в брейкпоинте Actions.
всегда пользую log4net
------
Ну и как прописывать логер в чужую скомпилированную и подписанную дллку?
В ту функцию которая тебя интересует
-----
Нет такой возможности. А вот прописать и сохранить Актионы - есть.
Импорт тоже есть:
аа...
-----
Вот и Я звучу похоже...