開發團隊中,隨著版本的增多,使用者的增多,修改遺留問題變得異常困難,pdb是個好東西,符號伺服器更是個好東西。給自己的開發團隊建立乙個簡單的符號伺服器會損失不好,俗話說得好嘛,「磨刀不誤砍柴工」。
基本需求
硬體一台,要求很簡單:有作業系統,硬碟足夠足夠足夠大(請注意用了三個足夠)
工具軟體:symstore.exe(debugging tools for windows中帶有)
工程的屬性中設定了輸出除錯資訊,也就是會產生pdb檔案
新增符號版本
命令列格式
symstore add /r /f "pdb file path" /s "symbol server path" /t "product name" /v "product version" /c "comment"
命令列舉例
symstore add /r /f d:\develop\dlsolution\pdb\*.pdb /s
\\symserver\symbols /t "dylantoolkits" /v "5.1.34.090710" /c ""
引數簡單說明
symstore add 代表執行新增一組symbol到符號伺服器的命令
/r 遞迴搜尋/f所指定的目錄中的所有檔案
/f 需要查詢pdb檔案的目錄,按照標準檔名通配方式
/s 符號伺服器目錄
/t 產品名稱,此名稱會出現在history.txt中
/v 產品版本,可以通過該版本來建立同原始碼庫的聯絡(除錯的時候你總得看源**吧,用這個版本號去檢索你的原始碼庫,找到合適的原始碼),此名稱會出現在history.txt中
/c 注釋,愛寫啥寫啥,此名稱也是會出現在history.txt中
影響會在伺服器目錄下的指定pdb目錄下新增乙個新目錄,該目錄按照一定的演算法(演算法自己另外去google)命名,然後在下邊放置剛剛新增的pdb檔案,比如,如果有乙個dlxmlkitu.pdb檔案被執行上述命令時發現,那麼執行完成後,會將該檔案拷貝到:
\\symserver\symbols\dlxmlkitu.pdb\68eb3547bcc044cb9fde4cd4b6aa983b1\dlxmlkitu.pdb。當然,會為每乙個找到的pdb檔案都拷貝一次,如果相同的pdb檔案已經存在,則會覆蓋伺服器上之前的檔案。(每個pdb會增加乙個影響)
會在伺服器的管理目錄下(形如
\\symserver\symbols\000admin)生成乙個新的id檔案,比如「0000000002」,無副檔名。該檔案記錄此次之行add操作增加的所有pdb檔案,每行乙個pdb記錄,指明這個pdb檔案的本地源和伺服器目標位置,形如:
"dlxmlkitu.pdb\68eb3547bcc044cb9fde4cd4b6aa983b1","d:\develop\dlsolution\pdb\dlxmlkitu.pdb"
會修改歷史記錄檔案(
\\symserver\symbols\000admin\history.txt),該檔案每行代表一次add或者del操作,如執行上述命令列,產生的歷史記錄行資訊形如:
0000000002,add,file,07/10/2009,14:28:09,"dylantoolkits","5.1.34.090710","", 分別記錄執行此次操作影響的id號,操作型別,日期時間,產品名稱,版本號,備註資訊;
會影響其他位於000admin目錄下的檔案,可以不關心。
刪除符號版本
命令列格式:
symstore del /i "operate id number" /s "symbol server path"
命令列舉例:
symstore del /i 0000000001 /s
\\symserver\symbols
引數簡單說明
symstore del 代表執行刪除一批pdb檔案的操作
/i 需要刪除的pdb檔案,執行新增這批檔案是產生的id號,位於admin目錄中
/s 符號伺服器目錄
影響會將伺服器的管理目錄下(形如
\\symserver\symbols\000admin)的指定id號的檔案改名,在名字後邊加字尾
.deleted,形如,0000000001.deleted;
根據id號檔案中的每一行,刪除符號伺服器目錄下的指定檔案,比如,會根據0000000001中的某一行
"dlxmlkitu.pdb\8a4d71f4e9964fe5a36000427e10112b1","d:\develop\dlsolution\pdb\dlxmlkitu.pdb",刪除檔案:
\\symserver\symbols\dlxmlkitu.pdb\8a4d71f4e9964fe5a36000427e10112b1\dlxmlkitu.pdb;
修改歷史記錄檔案(
\\symserver\symbols\000admin\history.txt),增加一行記錄,形如:
0000000003,del,0000000001;
會影響其他位於000admin目錄下的檔案,可以不關心。
NuGet 符號伺服器
在新的 visualstudio 支援使用 nuget 符號伺服器,可以支援新的 portable pdb 除錯符號的庫,本文告訴大家如何打包上傳帶符號的庫和使用符號伺服器 在 2018 的 11 月微軟支援上傳帶符號的包到 nuget.org 符號伺服器,在使用 visual studio 201...
伺服器搭建
問題一 com無法訪問到伺服器 問題二 將 com 301重定向到 www.com 解決方案 在httpd.conf檔案中 追加 如下內容 options followsymlinks rewriteengine on rewritecond com rewriterule l,r 301 2 禁止...
搭建伺服器
零基礎搭建伺服器 我用的是ubuntu,所有 sudo apt get install apache2 配置php的時候已經配好了,這裡就不重複配置了 安裝apxs 安裝過php,所以這個也忽略掉 sudo apt get install apache2 dev apxs是乙個為apache超文字傳...