Трассировка событий для Windows (ETW) имеет возможность для захвата трассировки стека с потоком событий. Я предполагаю, что они извлекаются/кодируются с использованием заголовка EVENT_HEADER_EXT_TYPE_STACK_TRACE32 (или 64). Однако заголовок события не контролируется из POV источника события.Как написать пользовательскую трассировку стека с использованием ETW
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363760%28v=vs.85%29.aspx
В моей .net приложении, у меня есть определенное условие я диагностирование в другом потоке (интерфейс поток), наблюдая его. Я могу собрать трассировки стека, подвергая условие, части данных на месте, но я хотел бы использовать ETW и его инструментальную цепочку для дальнейшего анализа.
[В стороне, да, я ищу блокаторы, но в то время как существующая инфраструктура отлично подходит для диагностики известных отдельных блокаторов, мне необходимо получить обзор, и корреляция событий в этом случае недостаточна. Кроме того, собранные данные легко перегружают устройство, которое мне нужно собирать. Мой детектор гораздо умнее, для моего случая, по крайней мере.]
Так что я ищу (в порядке предпочтения)
- образом, чтобы заменить стек я собранную заголовка мероприятия
- использовать другой атрибут для StackTrace, и способ сКАЖИТЕ инструментов (perfview или Xperf), чтобы использовать это вместо того, чтобы
- способ записи ETW .etl совместимые файлы без ETW (но в .net), с полным контроль над заголовком (мне не нужен l ive)
Указатели у кого?
К сожалению, именно эта функция я уже использую, но не укладывающийся в нескольких случаях края. –