今天在工作過程中,突然有測試的同事給我報來一個問題。她是這么描述的“執行完XXX工具之后,在Start Menu找不到圖標了。”
針對問題本身:
1,是執行完XXXX工具之后?
2,Start Menu消失了,那么程序文件是否還在?
3,是Win10 Core的原因嗎?
針對這三個假設,我首先研究了Start Menu的機制,發現在Win10上,Start Menu中顯示的圖標都存在C:\ProgramData\Microsoft\Windows\Start Menu\Programs下面。
后來定位到XXX工具一打開就發現圖標不見了,而不是測試同事所說的執行完工具之后。(這一點對幫助我Debug很重要)
針對上面的第3個問題,我分別用不同的Core來進行了驗證,發現結果是一樣的,這樣就排除了Win10 Core的原因。
經過不斷的嘗試,我注意到了ProgramData這個目錄,想起前段時間為了對應一個需求,而將臨時文件夾放到了ProgramData下面。
想到這里,我突然覺得今天解決這個問題有望了,沿着這個線索往下找,發現代碼中確實有刪除臨時文件夾的操作,根據條件不同可能會刪除掉ProgramData這個目錄(因為如果不是在C盤,其他盤的話會創建ProgramData)。
這樣就定位了問題,然后修改代碼。
重新編譯,測試,OK。
真是埋坑啊~~