1分鐘解救 run 不出來的 Autoruns

2022-03-26 17:34:34 字數 1784 閱讀 2357

除錯debug

排錯troubleshoot

process monitor

sysinternals

autoruns

**說明:**很早就寫了初稿,一直沒來得及編輯完善,直到週末才編輯完。

照例請出我們的老朋友 ——process monitor。開始捕獲,然後開啟autoruns,當工作列出現autoruns的圖示後,停止捕獲。通過tools->process tree...(或者按ctrl + t)查詢到autoruns,在其上面右鍵,add process to include filter,只顯示autoruns相關的事件,準備進一步分析。

add-autoruns-to-include-filter

沒想到!?居然一篇空白,什麼都沒有了!

process-monitor-filter-empty

process monitor肯定捕獲了對應的事件,但是為什麼什麼都沒有了呢?先檢查下過濾條件。

process-monitor-filter-autoruns-excluded-by-default

原來,process monitor缺省會過濾掉autoruns相關的事件。關閉這條過濾規則,點選ok,關於autoruns的事件都出來了。

autoruns-events-show-up

捕獲的事件有了,我們就可以繼續分析了。我猜測,autoruns應該把配置儲存到了登錄檔中,所以排除其它幾類事件,只保留登錄檔相關事件。應該是成功讀取到了某些錯誤的設定,所以只保留reusltsuccess而且operationregqueryvalue的事件。(當然,這是我的猜測。還有可能是沒讀取到某些關鍵設定,如果是沒讀取到,我們應該把result列是success的排除掉。)

一般情況下,很多程式會把對應的設定儲存到hkcu下,而不是hklm。因為寫入hklm需要管理員許可權,讀取不用。所以我們還可以排除pathhklm開頭的記錄。

做好過濾後,往下瀏覽下,發現了四個跟位置有關的引數。

autoruns-position-registry-setting

發現,其中的ypos的值很奇怪,刪除後重新啟動autoruns即可正常顯示了。整個過程請參考下面的螢幕錄影。

troubleshoot-autoruns-can-not-show-up-screen-record

autoruns在關閉的時候會儲存相關配置到登錄檔,所以需要先關閉autoruns,再做修改操作。

在公司的時候,接過外接顯示器。應該是autoruns上次退出的時候的位置正在外接顯示器,儲存的位置是相對於外接顯示器的位置。本次啟動後,依然想在外置顯示器中顯示。但是,外接顯示器已經沒有了,所以不能正常顯示出來。make sense!

SQL Agent排程低於1分鐘的迴圈作業

sql agent可以排程的最短迴圈時間是每分鐘,有時候要想每20秒就比較麻煩。本來就是個很小的事情,如果要去做個windows service之類的程式顯得麻煩。用sql agent可以省去建立 釋放連線之類的繁瑣雜務,但要每20秒排程就得想點辦法了。我能想到的是用wait delay 00 00...

1分鐘徹底搞懂關於nginx的proxy pass

下面這段不重要,知道就好 nginx的官網將proxy pass分為兩種型別 一種是只包含ip和埠號的 連埠之後的 也沒有,這裡要特別注意 比如proxy pass http localhost 8080,這種方式稱為不帶uri方式 另一種是在埠號之後有其他路徑的,包含了只有單個 的如proxy p...

1分鐘徹底理解C語言指標的概念

計算機中所有的資料都必須放在記憶體中,不同型別的資料占用的位元組數不一樣,例如 int 占用4個位元組,char 占用1個位元組。為了正確地訪問這些資料,必須為每個位元組都編上號碼,就像門牌號 身份證號一樣,每個位元組的編號是唯一的,根據編號可以準確地找到某個位元組。下圖是 4g 記憶體中每個位元組...