用 dotTrace 進行效能分析時,Timeline 打不開?無法啟動程序?也許你需要先開啟系統性能計數器的...
對 .NET 程式使用 dotTrace 進行效能分析時,你也可能遭遇到 dotTrace 的 Bug。我就遇到了效能分析選項 Timeline 打不開程序的情況。
dotTrace 的效能分析選項
dotTrace 啟動效能分析的選項有四個,你可以閱讀 ofollow,noindex" target="_blank">用 dotTrace 進行效能分析時,各種不同效能分析選項的含義和用途 瞭解不同選項的含義和用途,以便對你的效能分析提供更多的幫助和更有價值的分析資料。
Timeline 打不開?
可是,當我真的使用這個選項的時候,卻發現根本無法完成效能分析。
具體來說,是在出現了效能分析的指示視窗後,被分析程式的介面遲遲沒有出現。隨後在半分鐘到數分鐘後,分析器自動退出,沒有得到任何效能分析資料。
▲ 啟動 ETW(事件跟蹤器)
▲ 啟動效能分析器
▲ 效能分析指示視窗
最後那個指示視窗就這樣過一會兒變成以下視窗,提示 “Waiting for a managed application to start…”,然後消失。
▲ 等待啟動
解決方法
在這四個選項中,只有 Timeline 和 Line-by-line 是打不開的,Sampling 打得開。於是可以從他們之間的差異著手分析。
在 用 dotTrace 進行效能分析時,各種不同效能分析選項的含義和用途 一文中,我們可以得知,只有 Timeline 用到了 ETW,而這個是一個系統功能。也許是系統功能無法訪問呢?畢竟這種事情還是非常常見的。
於是果然在 Windows-versions" rel="nofollow,noindex" target="_blank">Timeline is not working 找到了解決方法 —— 你需要開啟你所在的使用者組對 Performance Monitor 的訪問許可權。
現在開始解決:
啟動“計算機管理”
在你的 Windows 10 搜尋(或者小娜)中搜索 “計算機管理”,英文使用者搜尋 “Computer Management”。然後啟動它。
▲ 搜尋並啟動計算機管理
配置效能監視器使用者組
在計算機管理中,找到 “計算機管理 -> 系統工具 -> 本地使用者和組 -> 組”,點開後在中間的列表中找到 “Performance Monitor Users”。
對於英文的系統,對應的路徑為 “Computer Management -> System Tools -> Local Users and Groups -> Groups”,然後一樣找到 “Performance Monitor Users”。
▲ 找到 Performance Monitor Users
為了照顧中文使用者,我找小夥伴幫忙截了一張中文的圖:
▲ 中文版的設定路徑
新增自己作為使用者組的成員
雙擊 Performance Monitor Users,按照以下的步驟將自己新增到使用者組中。
▲ 將自己新增到使用者組中
感謝 林德熙 再次幫我截到一張中文版的圖片:
▲ 中文版的新增
你已經完成了
你已經修復了問題,建議登出並重新登入 Windows,當然也可以考慮重啟。
重啟後再次嘗試使用 Timeline 選項啟動程序進行效能分析應該可以正常。