Можно ли получить значения параметров для каждого кадра в стеке вызовов в .NET

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

Я говорю об управляемом коде .NET.none

Ответ на: "Можно ли получить значения параметров для каждого кадра в стеке вызовов в .NET"

Количество ответов:2

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

Я знаю, что это не то, что вы просите, но это один из способов получить данные.

Кроме того, вы можете отладить приложение с помощью WinDbg. Команды !clstack/!dso позволят вам проверять параметры и укладывать объекты.

Значения параметров

не хранятся в экземпляре StackFrame. В самом деле, они не зарегистрированы / зарегистрированы на всех, если вы решите сделать это явно.

Один очевидный способ регистрации значений диссертаций заключается в использовании АОП. Это, безусловно, подразумевает стоимость, но в сочетании с системой регистрации и правильным уровнем журнала, это может быть альтернативой. Вы также можете использовать только некоторые типы/методы в базовом коде, где исключения с большей вероятностью будут брошены. Я вероятно выбрал бы Postsharp для своих статических возможностей ткачества, излучать звоноки журнала.

Во всяком случае, это далеко не идеальное решение, но я боюсь, вы не будете иметь много вариантов, если вы застряли в управляемом мире.