Такое движение может отслеживаться:
ProviderName: "Microsoft-Windows-DotNETRuntime"
EventName: "GC / GCBulkMovedObjectRanges"
Событие может быть проанализировано ClrTraceEventParser.GCBulkMovedObjectRanges1006 * Первоначально там ответили:
https://social.msdn.microsoft.com/Forums/en-US/7b6f9918-60ee-4e23-b443-42b4895775ad/how-to-track-change-of-wpf-dispatcheroperation-id?forum=netfxbcl
ОБНОВЛЕНИЕ:
Из-за отслеживания операций WPF я бы сказал, чтоПодход с изменяемым идентификатором - худшая реализация.Он реализован неправильно.
Идентификатор имеет фиксированную позицию адреса во время сбора этого идентификатора, но вся операция не гарантирует, что сообщение трассировки содержит правильный адрес.Это может быть уже перемещено при возникновении события.
Я получил следующую последовательность событий:- WClientUIContextPost- GCBulkMovedObjectRanges- WClientUIContextPost
Где последний может содержать перемещенный или неизменный идентификатор.Только боги знают.
Событие GCBulkMovedObjectRanges можно использовать на 95%.Но иногда это терпит неудачу.
Так что невозможно отследить его надежно.Очень печально, что эта архитектурная ошибка / ошибка реализации стала непригодной для использования.