08 December, 2010

Восстановление списка активных тредов во время attach

Список ThreadID для работающих managed тредов нельзя получить через CLR v4 profiling API в чистом виде. Для sampling профайлера это очень серьезная неприятность, так как профайлер не сможет узнать о уже существующих тредах. Он их попросту не увидит.

Но есть не плохой выход - установить флажок COR_PRF_MONITOR_JIT_COMPILATION. Таким образом профайлер сможет получать events о JIT компиляции. Компиляция же происходит достаточно часто и профайлер легко сможет получить ThreadID при помощи вызова GetCurrentThreadID.

P.S. В следующей версии dotTrace, ну той что после 4.0.1, наконец-то будет attach.

No comments: