<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    在 Visual Studio 調試器中指定符號 (.pdb) 和源文件

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    查找并指定符號文件和源文件;指定符號加載行為、使用符號和源服務器上;加載符號自動或在要求。

    RFID設備管理軟件  內容

    查找符號 (.pdb) 文件

    查找源文件

    RFID設備管理軟件  查找符號 (.pdb) 文件說明說明

    在之前的 Visual Studio 版本與 2012 中,調試在遠程計算機上的管理的代碼需要符號文件還查找了遠程計算機。 現在,這已經不成問題了。 所有符號文件必須本地計算機或位于 Visual Studio 選項 對話框的 調試 / 符號 頁上指定的位置。

    程序數據庫 (.pdb) 文件,也稱為符號文件,映射您在選件類、方法和其他代碼的源文件創建對標識符用于您的項目生成可執行文件的標識符。 .pdb 文件映射還可以在源代碼中的語句到可執行文件的執行命令。 調試器使用這些信息確定兩個關鍵信息:在 Visual Studio IDE 和位置顯示可執行終止時的源文件和行號,在設置斷點時。 符號文件還包含源文件的原始位置,以及可選,可以將源文件檢索從源服務器的位置。

    在 Visual Studio 中調試 IDE 項目時,調試器在何處正確地知道找到 .pdb 文件和源文件您的代碼。 如果要調試項目中的源代碼之外的代碼,如 windows 或第三方代碼項目中調用,您必須可以選擇指定該 .pdb 的位置 (和,外部代碼的源文件),這些文件需要完全匹配可執行文件的生成。

    ms241613.collapse_all(zh-cn,VS.120).gif如果調試器搜索 .pdb 文件

    1. 指定在 DLL 或可執行文件內的位置。

      (默認情況下,因此,如果您生成了 DLL 或可執行文件在計算機中,鏈接器將關聯的 .pdb 文件的完整路徑和文件名。DLL 或可執行文件中。 看到調試器的第一個選定符號文件是否存在于指定在 DLL 或可執行文件內的位置。 此方法非常有用,因為您始終有符號可用于您的計算機上生成的。) 的代碼

    2. 可能存在文件夾和 DLL 或可執行文件相同的 .pdb 文件。

    3. 任何本地符號緩存文件夾。

    4. 指定的任何網絡、internet 或本地符號服務器和位置,如 microsoft 符號服務器,如果啟用。

    返回頁首查找符號 (.pdb) 文件

    返回頁首內容

    ms241613.collapse_all(zh-cn,VS.120).gif符號文件的原因需要完全匹配可執行文件?

    調試器將加載與 .pdb 文件中創建的可執行文件的一 .pdb 文件,并且可執行文件編譯時 (即該 .pdb 必須是原 PDB 或基元 .pdb 文件的副本)。 除了創建外部正確有效的代碼,但是主要任務由于編譯器用于生成速度進行了優化,實際布局可執行文件能夠更改,即使代碼自身沒有變化。 有關更多信息,請參見 MSDN 博客文章為什么 Visual Studio 要求調試器符號文件須與同時生成的二進制文件完全匹配?

    返回頁首查找符號 (.pdb) 文件

    返回頁首內容

    ms241613.collapse_all(zh-cn,VS.120).gif指定符號位置和加載行為

    在調試中的項與 IDE 時,調試器會自動填充位于項目目錄中的符號文件。 可以為基于、窗口或第三方組件指定替換搜索路徑和符號服務器在 調試/符號 頁與選項 對話框。 在 符號 頁,還可以指定特定模塊希望調試器將自動加載符號。也可以手動然后更改這些設置,當您有效地調試時。

    打開調試/符號頁

    1. 在 調試 菜單中,選擇 選項

    2. 在 選項 對話框中,選擇 符號 在 調試 節點下。

    工具 - 選項 - 調試 - 符號頁

    指定符號服務器或搜索位置

    1. 選擇文件夾 工具/ 選項/ 調試/符號文件夾圖標 圖標。 “符號文件(.pdb)位置”框中將顯示可編輯的文本。

    2. 鍵入符號服務器或符號位置的 URL 或目錄路徑。 語句結束有助于找到正確的格式。

    3. 若要提高符號加載性能鍵入路徑符號可以由 在此目錄下緩存符號 框中的符號服務器復制本地目錄的本地目錄可將符號復制。

      說明說明

      不要放置符號緩存在一個受保護的文件夾 (例如 C:\Windows 文件夾或其子文件夾。 而應使用可讀寫的文件夾。

    指定符號加載行為

    您可以指定要從 符號文件 (.pdb) 位置 框位置自動加載的文件中,在開始調試時。 在項目目錄中的符號文件始終加載。

    1. 選擇 除排除模塊之外的所有模塊 加載的所有模塊的所有符號只不過您指定的那些何時選擇 指定排除的模塊 鏈接。

    2. 選擇 僅指定的模塊 選項并選擇 指定模塊 列出了符號文件要自動加載的模塊。 其他模塊的符號文件被忽略。

    指定其他符號選項

    您也可以選擇在調試/常規頁的以下選項與選項對話框:

    啟動時若無符號則發出警告(僅限本機)

    選定后,如果您嘗試對調試器沒有其符號信息的程序進行調試,系統將顯示警告對話框。

    加載 DLL 導出

    選定后,加載 DLL 導出表。 處理 Windows 消息、Windows 過程 (WindowProc)、COM 對象、封送或任何您不具有其符號的 DLL 時,DLL 導出表中的符號信息很有用。 讀取 DLL 導出信息會占用一些系統開銷。 因此,默認情況下此功能被禁用。

    若要查看 DLL 導出表中的可用符號,請使用dumpbin /exports 符號可用于任何 32 位系統 DLL。 通過閱讀dumpbin /exports輸出,可以查看到精確的函數名,包括非字母數字字符。 這對于在函數上設置斷點很有用。 DLL 導出表中的函數名在調試器的其他位置似乎被截斷了。 調用將按調用順序列出,當前函數(嵌套最深的函數)位于頂部。 有關更多信息,請參見 dumpbin /exports

    返回頁首內容 | 查找符號 (.pdb) 文件

    ms241613.collapse_all(zh-cn,VS.120).gif使用符號服務器以查找符號文件不在本地計算機

    Visual Studio 能下載調試從實現 symsrv 協議的符號服務器下載符號文件。Visual Studio Team Foundation Server 和 windows 調試工具 可以實現符號服務器的兩個工具。 在指定符號服務器用于 選項 對話框。

    可供使用的符號服務器包括:

    基于公共符號服務器

    若要調試發生在調用系統 DLL 或第三方庫的故障,通常需要系統 .pdb 文件,包含 windows DLL、EXE 和設備驅動程序的符號。 可以從 microsoft 公共 sysmbol 服務器的這些符號。 除了 MDAC、IIS、ISA 和 .NET Framework外,基于公共符號服務器為 windows 操作系統提供符號。

    若要使用 microsoft 符號服務器,請選擇在 調試 菜單的 選項和設置 然后選擇 符號 選擇 Microsoft 符號服務器

    符號服務器在一個內部網絡或在本地計算機

    您的團隊或公司可以創建符號服務器產品的和作為符號的一個緩存從外部源。您可能僅有符號服務器處理。 可以輸入符號服務器的位置作為 URL 或作為 調試/符號 頁的路徑與 選項對話框

    第三方符號服務器

    windows 應用程序和庫第三方提供程序在 internet 可提供對符號服務器。 還輸入這些符號服務器 URL。調試/符號 頁的,

    說明說明

    如果使用 Microsoft 公共符號服務器以外的符號服務器,請確保該符號服務器及其路徑是可信任的。 由于符號文件可以包含任意可執行代碼,可以會面臨安全威脅。

    返回頁首內容 | 查找符號 (.pdb) 文件

    ms241613.collapse_all(zh-cn,VS.120).gif查找和加載符號,在調試時

    隨時調試器處于中斷模式下,可以由調試器選項以前排除或編譯器無法找到的模塊的符號。 可以從調用堆棧的快捷菜單,模塊,本地,汽車加載符號,因此,所有注意窗口。 如果調試器在沒有符號或可用的源文件中的代碼中斷,文檔窗口顯示。 可以找到有關缺少文件的信息并執行相應找到并加載它們。

    帶有已加載的無符號的查找符號文檔頁

    具有調試器的許多方法可以將沒有可用的符號的代碼:

    1. 單步執行代碼。

    2. 將從斷點或異常的代碼。

    3. 切換到其他線程。

    4. 更改堆棧幀通過雙擊"調用堆棧"窗口的一個幀。

    當這些事件之一時,調試器顯示 未加載符號 頁幫助您查找和加載必要的符號。

    “未加載任何符號”頁
    • 更改搜索路徑,選擇未選擇的路徑或選擇 新建 然后輸入新路徑。 如果找到,選擇 加載 再次搜索路徑和加載符號文件。

    • 選擇 瀏覽并查找executable-name... 重寫任何符號選項并再次嘗試搜索路徑。 符號文件加載,如果找到,或文件資源管理器中顯示為可以手動選擇符號文件。

    • 選擇 更改符號設置 ... 顯示 調試 / 符號 頁與選項對話框。

    • 選擇 查看反匯編 顯示該反匯編在新窗口時間。

    • 始終顯示該反匯編,當未找到源時或符號文件,請選擇 選項”對話框 鏈接,然后選擇 啟用地址層位調試 和 顯示反匯編,如果不可用的源

      選項 / 調試 / 常規反匯編選項

    從快捷菜單更改符號選項

    當您處于中斷模式時,可以找到,將加載在調用堆棧上顯示的項,模塊、本地,汽車和所有符號請注意窗口。 在窗口中選擇一個項目,打開快捷菜單,然后選擇以下選項之一:

    選項

    描述

    加載符號

    嘗試從在 選項 對話框的 調試 / 符號 頁上指定的位置加載符號。 如果無法找到符號文件,資源管理器生成,以便您能夠指定新位置搜索。

    符號加載信息

    存在信息顯示所加載的符號文件的位置或要搜索的位置,如果調試器無法找到文件。

    符號設置...

    打開 調試 / 符號 頁與 選項 對話框。

    始終自動加載

    添加符號文件添加到由調試器自動填充文件的列表。

    返回頁首內容 | 查找符號 (.pdb) 文件

    ms241613.collapse_all(zh-cn,VS.120).gif設置符號文件的編譯器選項

    當您生成項目從與 IDE 并使用標準 調試 生成配置時,C++ 和托管編譯器創建編碼的相應的符號文件。 還可以在命令行上設置編譯器選項創建符號文件。

    C++ 選項

    程序數據庫 (.pdb) 文件保存著調試和項目允許增量鏈接程序的調試配置的狀態信息。 .pdb 文件后,在使用 /ZI 或 /Zi 生成時 (對于 C/C++)。

    在 Visual C++,/Fd 選項命名編譯器創建的 .pdb 文件。 使用向導時,在 Visual Studio 創建項目,/Fd 選項設置創建名為 project.pdb 的.pdb 文件。

    使用生成文件,如果您生成 C/C++ 應用程序,并且,如果您指定 /ZI 或 /Zi,而無需 /Fd,則最終獲得兩個 .pdb 文件:

    • VCX.PDB,其中 x 表示 Visual C++ 的版本,例如 VC11.pdb。 該文件存儲各個 OBJ 文件的所有調試信息并與項目生成文件駐留在同一個目錄中。

    • project.pdb 該文件存儲 .exe 文件的所有調試信息。 對于 C/C++,它駐留在 \debug 子目錄中。

    每當創建 OBJ 文件,C/C++ 編譯器將調試信息合并到 VCX.PDB。 插入的信息包括類型信息,但不包括函數定義等符號信息。 因此,即使每個源文件包括常用標頭文件 <(如 windows.h,從>這些標頭的 typedef 一次只存儲,而不是在各個 OBJ 文件。

    鏈接器創建 project.pdb,包含項目的 EXE 文件的調試信息。 project.pdb 文件包含完整的調試信息,包括函數原型,而不僅僅是該類型在 VC 中的信息x.pdb)。 兩 .pdb 文件允許增量更新。 鏈接器還在其創建的 .exe 或 .dll 文件中嵌入 .pdb 文件的路徑。

    Visual Studio 調試器使用 .pdb 文件的路徑。在 EXE 或 DLL 文件中查找 project.pdb 文件。 如果調試器在該位置找到 .pdb 文件,或者路徑無效 (例如,在中,如果項目被移動到另一臺計算機上),調試器將搜索包含 EXE,符號路徑的路徑指定在 選項 對話框 (調試 文件夾,符號 節點)。 調試器不會加載不與所調試的可執行文件的 .pdb 文件。 如果調試器無法找到 .pdb 文件,查找符號 出現對話框,允許您搜索符號或添加其他位置到搜索路徑中。

    .NET Framework 選項

    程序數據庫 (.pdb) 文件保存著調試和項目允許增量鏈接程序的調試配置的狀態信息。 在使用 /debug時,生成 .pdb 文件中創建。 可以使用 /debug:full 或/debug:pdbonly 生成應用程序。 使用 /debug:full 生成將產生可調試的代碼。 通知 JIT 編譯器有可用的調試信息與 /debug:pdbonly 生成生成 .pdb 文件,但不會生成DebuggableAttribute 請使用 /debug:pdbonly,如果您想為不希望可調試的版本生成的 .pdb 文件。 有關更多信息,請參見 /debug (C# 編譯器選項)或 /debug (Visual Basic)

    Visual Studio 調試器使用 .pdb 文件的路徑。在 EXE 或 DLL 文件中查找 project.pdb 文件。 如果調試器在該位置找到 .pdb 文件,或者,如果路徑無效,調試器將搜索包含 EXE 的路徑,然后在 選項 對話框中指定的符號路徑。 該路徑通常是“符號”節點中的“調試”文件夾。 調試器不會加載不與所調試的可執行文件的 .pdb 文件。 如果調試器無法找到 .pdb 文件,查找符號 出現對話框,允許您搜索符號或添加其他位置到搜索路徑中。

    Web 應用程序

    一定要把您的應用程序配置文件 (Web.config) 設為調試模式。 調試模式會導致 ASP.NET 生成動態生成的文件的符號并使調試器附加到 ASP.NET 應用程序。 使用自動設置此屬性,并在開始調試時,因此,如果創建了從 Web 項目模板的項目。

    內容 | 查找符號 (.pdb) 文件

    RFID設備管理軟件  查找源文件

    ms241613.collapse_all(zh-cn,VS.120).gif如果調試器搜索源文件

    調試器在以下位置查找源文件:

    1. 在 Visual Studio 中打開實例 IDE 啟動調試器的文件。

    2. 在打開的與實例的解決方案的文件。

    3. 在解決方案的屬性的 通用屬性 / 調試源文件 頁上指定的內容。

    4. 模塊的 .pdb 的源信息。 這可能是源文件的位置,當模塊生成的,也可以是命令到源服務器。

    返回頁首內容 | 查找源文件

    ms241613.collapse_all(zh-cn,VS.120).gif在沒有源/無符號加載的頁查找并加載源文件

    當調試器在源文件不可用的位置中斷執行,它將顯示可幫助您查找源文件的 未加載的源 或 未加載符號 頁。 未加載符號 顯示調試器無法找到可執行文件中的符號 (.pdb) 文件中完成其搜索。 符號頁不提供選項搜索文件。 如果該 .pdb 找到,在執行后的某個選項使用在符號文件,的信息,并且調試器可以檢索源文件,源顯示。 否則,描述問題的 未加載的源 頁。 可以執行操作可能解決問題的頁顯示選項鏈接。

    返回頁首內容 | 查找源文件

    ms241613.collapse_all(zh-cn,VS.120).gif添加源文件搜索路徑添加到解決方案

    您可以指定網絡或本地目錄搜索源文件。

    1. 在解決方案資源管理器中選擇解決方案從快捷菜單中選擇 屬性

    2. 在 通用屬性 節點下,選擇 調試源文件

    3. 單擊文件夾 工具/ 選項/ 調試/符號文件夾圖標 圖標。 顯示可編輯的文本 包含源代碼的目錄 列表。

    4. 添加要搜索的路徑。

    請注意只所指定的目錄下搜索。 必須添加要搜索的所有子目錄中的項。

    返回頁首內容 | 查找源文件

    ms241613.collapse_all(zh-cn,VS.120).gif使用源服務器

    當本地計算機上沒有源代碼或 .pdb 文件與源代碼不匹配,您可以使用源服務器幫助調試應用程序。 源服務器接受文件請求并返回實際的文件。 源服務器通過名為 srcsrv.dll 的 DLL 文件運行。 源服務器讀取應用程序中使用的 .pdb 文件,該文件包含指向源代碼儲存庫,以及命令從儲存庫檢索源代碼。 可以限制哪些命令允許從應用程序的 .pdb 文件執行通過列表在名為 srcsrv.ini 的文件內允許的命令,在內容必須與 srcsrv.dll 和 devenv.exe 相同。

    安全說明安全說明

    任何命令在應用程序的 .pdb 文件中嵌入,因此,請確保放入 srcsrv.ini 文件若要執行的只有一個。 任何嘗試執行不在 srcsvr.ini 文件中的命令都將導致出現一個確認對話框。 有關詳細信息,請參閱 安全警告:調試器必須執行不受信任的命令 未對命令參數執行任何驗證,因此請慎用受信任的命令。 例如,如果您信任 cmd.exe,惡意用戶則可能會指定使該命令變得危險的參數。

    允許使用源服務器

    1. 確保您在編譯時采用了上一節中介紹的安全措施。

    2. “工具”菜單上選擇“選項”

      此時將出現“選項”對話框。

    3. 在 調試 節點,選擇 常規

    4. 選擇“啟用源服務器支持”復選框。

      啟用源服務器選項
    5. (可選) 選擇所需的子選項。

      請注意 允許源服務器中的部分信任程序集 (僅限托管) 和 始終運行不受信任的源服務器命令,但不想提示可能會增加討論的安全風險上面。

     from:http://technet.microsoft.com/zh-cn/magazine/ms241613.aspx

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全