發表文章

目前顯示的是有「Debug」標籤的文章

Jenkins-無法儲存工作設定

圖片
問題 同事回報CI工作發行錯誤,原因為建置參數遺失...。此工作只有在昨天Jenkins更新到2.69後,修改了Pipeline的語法而已,查詢工作設定後,發現原本的參數設定不見了....變成未設定的狀態. 測試其他如trigger build等其他的設定,儲存後也都會不見....昏 除錯過程 本以為是Jenkins 2.69更新的問題,所以就先 回報議題 ,過了一天收到了回覆,開發人員使用相關環境測試,是沒問題的....。 為確定是否為Java runtime或是環境等問題,我重新安裝最新的及舊版Jeknins,測試結果正常 將主機的Jenkins還原到我本機來測試後, 問題一樣存在 .....。 在確定與主機環境一致後,再比對兩邊的檔案後,差異的只有Plugin,所以我先將測試正常的Plugin替換到目前有問題的Jenkins下,果然一測試就正常了....。 ps:此目錄只需要copy .jpi就可以使用了 解決方式 在經由交叉比對、連番測試差異的plugin,終於找到了問題所在,一枚六年前安裝,目前已停止維護的 TFS Plugin 造成的。在Jenkins 更新至2.64之後,此Plugin會影響Jenkins的工作設定。 目前的版控已全部改成git,所以將它移除後,恢復正常。

[debug] 分析iis log的工具Log Parser Studio

圖片
今天在查詢IIS Log時,用Notepad打開後,憑著我的鷹眼逐行搜查....。查到一半時,才想到好像有什麼GUI工具的....。馬上Google了一下,果然有一個Log Parser Studio可以使用。 安裝連結 1.安裝Log Parser 2.2 https://www.microsoft.com/en-us/download/details.aspx?id=24659 2.Log Parser Studio https://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765 如何使用 選擇Log 來源 使用現成的Library查詢,本例查詢較緩慢的Request 上方是結果,下方是查詢語法,你也可以複製出來改成你要的。 time-taken 為毫秒,例:5000=5秒 Ps: 馬的...有種從古代來到了現代的感覺。 參考來源 Log Parser Studio介紹 https://dotblogs.com.tw/kinanson/2017/08/18/145528 如何取得IIS記錄檔 https://note.robinks.net/2013/09/how-to-get-iis-log-files.html

使用WinDbg偵錯CPU使用率過高原因

圖片
昨天同事回報,主機上IIS 的CPU不定時衝高50~99%。本想說dump w3wp.exe回來使用WinDbg偵錯。但它間歇性的衝高,一下子就回復了,所以很難dump到在CPU衝高的狀態。幸好微軟提供了針對此狀況的dump工具「 P rocdump 」 ,用來監控特定的process,當超過CPU設定值後自動dump。 Procdump  Download & Setup 下載路徑 教學文章 安裝後,在開始功能列會看到32及64位元的ICON 使用管理者執行cmd -ma 包含所有ram、thread的信息 -r 讓目前的w3wp可以在不用暫停的情況下dump,缺點是會花費較長的時間dump 17488 為w3wp.exe的Process Id -c 50 cpu超過50% -s 3  持續超過3秒 -n 工具退出前要抓取多少個dump文件,例:設-n 2 代表會等觸發了2次dump文件後關閉監控 D:\Downloads\Procdump\procdump.exe -ma -r -c 50 -s 3 -n 1 17488 -o D:\dumpfile WinDbg Download & Setup Dump的檔案,可以透過WinDbg分析除錯 下載路徑 教學文章 只勾選一個Debugging Tools for Windows WinDbg Command 1.先載入dumpfile 2.設定路徑,由微軟網站下載分析需要的Symbol檔 .sympath srv*D:\Temp\debug\RTX64_SYMBOLS*https://msdl.microsoft.com/download/symbols 3. 指定顯示完整Symbol下載資訊 !sym noisy 4. 載入 CLR 偵錯相關模組 .cordll -ve -u  -l 5. 找出佔用 CPU 最多的 Thread,本案例中,Thread 29為使用最長的時間 !runaway 將偵錯對象切換成 T...

IIS網站更新後第一次執行異常緩慢

測試主機的網站,最近只要程式有更新,第一次執行會異常得緩慢.....要花費約10分鐘之久!真是有夠誇張。將Pooling回收測試,只要20秒。研判應該是跟程式在第一次執行時編譯有關。 為先証明程式本身是沒有問題的下,我又在IIS建立另一個網站來試,測試結果只要30秒.....昏,同一份程式在同一主機下的不同Site,會有不同的結果。在查詢相關文章後,才知道是IIS  Temporary ASP.NET Files目錄過大的問題。 解決方式 刪除暫存目錄。一開始在檔案總管要刪除,但目錄太大,進度視窗跑不完。所以改用如下的PowerShell刪除,並使用強制刪除及忽略參數(太久沒清,執行50分鐘)。此方式可以不用在停止IIS的狀況下刪除檔案。 Get-ChildItem "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET  Files\" -Recurse | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue ps:為避免日後再發生,將它設定到排程在假日時執行,一勞永逸。 參考連結 https://www.itread01.com/content/1501827610.html

VS2017讓其他電腦連線到本機的IISExpress

圖片
IISExpress預設只能透過localhost:port連線,想讓其他電腦連進來的話,須更改方案目錄下的applicationhost.config,路徑 方案/.vs/config/ applicationhost.config 打開applicationhost.config,找到bindings區段 ' 將"*:{port}:localhost" 的 localhost 移除,變成 " *:{port}: " Ps:設定完,記得將IIS Express重開 測試結果 本機測試,輸入本機IP http://192.168.2.50:1933 若外部還是 不能連線 ,要將防火牆的關閉或將 port(1933)允許 。

chrome如何偵錯js最小化

圖片
    同事在正式區檢查 前端瀏覽器的javascript  bug時,因js有作最小化的處理,一時之間不知從何下手,所以問我要如何偵錯?憑藉著些微的印象,我翻了一下筆記,還真有記在我的Evernote內..XD。順便blog一篇吧。 如何偵錯 1.按F12進入開發者工具,切換到Sources頁籤,並找到錯誤的js 2.按 Ctrl+G,輸入行號:欄位置,例:第1行的1000位置 : 1:1000

WinDbg Debug Tool安裝記錄

圖片
參考黑大最近一系列文後,自己個人的安裝備忘文   安裝WinDbg 安裝檔: https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit 進入網頁的下方,找到Window 10(WinDbg)

css debug 之找錯鑰匙記錄...

圖片
同事回報某支網頁程式的bootstrap 下拉式選單會因為太靠近底部而無法使用,如下圖

[Memo] 使用Fiddler 發Request

圖片
測試一個功能是要從臺灣銀行下載匯率檔。從網頁可以直接click後下載檔案。 但若寫程式(WebClient)下載則會得到URL錯誤的html內容