Изучение трассировки стека
Стек вызовов содержит данные для вызовов функций, выполняемых потоком. Данные для каждого вызова функции называются кадром стека и включают возвращаемый адрес, параметры, передаваемые функции, и локальные переменные функции. При каждом вызове функции новый кадр стека помещается в верхнюю часть стека. Когда эта функция возвращается, кадр стека выскочил из стека.
Каждый поток имеет собственный стек вызовов, представляющий вызовы, выполненные в этом потоке.
Чтобы получить трассировку стека, используйте методы GetStackTrace и GetContextStackTrace. Трассировку стека можно распечатать с помощью OutputStackTrace и OutputContextStackTrace.