偵錯自訂管線
當自訂管線中發生訊息處理失敗時,您可以使用來源層級偵錯來識別和修正問題。 如果自訂管線已部署) 或 Pipeline.exe (使用獨立管線工具) ,則會使用 Visual Studio 調試 BTSNTSVC.exe (程式來使用 Visual Studio 偵錯工具來完成來源層級偵錯。
程序
使用下列程式來偵錯自訂管線。
如何偵錯已部署的管線
從 [群組中樞] 頁面和事件檢視器追蹤查詢,提供有關已部署元件中訊息處理失敗的實用資訊。 此資訊通常可用來縮小問題的來源範圍。 一旦斷定是自訂管線的關係,就可以使用來源層級偵錯找出任何有問題的程式碼。
使用 Visual Studio 偵錯已部署的自訂管線
將自訂管線專案方案載入 Visual Studio。
將解決方案的輸出路徑變更為< [安裝資料夾 >\管線元件]。 在 方案總管中,以滑鼠右鍵按一下您的專案,按一下 [建置] 索引標籤,然後按一下 [流覽] 按鈕並選取< [安裝資料夾 >\管線元件] 目錄,以變更 [輸出路徑]。
從 Visual Studio 中,按一下 [建置 | 部署] 來部署方案。
重新啟動執行管線的主控件執行個體。 使用 BizTalk Server 管理主控台,流覽至執行管線的主機實例,以滑鼠右鍵按一下主機實例,然後按一下 [重新開機]。
將 Visual Studio 偵錯工具附加至 BTSNTSVC.exe。 您可以按一下 [偵 | 錯附加至進程]、按一下 [在所有會話中顯示進程],然後按兩下 BTSNTSVC.exe 來完成。
設定中斷點。
將訊息拖放到適當的位置,以起始自訂管線元件。 處理應該會在您設定的中斷點上停下來。
注意
如果程式碼擲回例外狀況,BizTalk Server 將會加以攔截,最終則擱置該訊息。 為了避免這種情況,您應該在最有可能發生的例外狀況上中斷。
如何使用 Pipeline.exe 進行偵錯
您也可以使用 Pipeline.exe 來測試自訂管線。 這有一個優點,您不需要部署管線,但代價是在與生產環境類似的條件下執行。
注意
如果自訂管線使用一般檔案組合器/解譯器,則 Pipeline.exe 將無法正確執行。 這是因為 Pipeline.exe 不會存取 BizTalk 資料庫。 其中一個解決方案是移除組合器/反組譯程式元件,並使用 FFDasm.exe 和 FFAsm.exe 個別測試它們。 如需詳細資訊,請參閱 管線工具 。
使用 Pipeline.exe 和 Visual Studio 對自訂管線進行偵錯
將自訂管線專案方案載入 Visual Studio。
將解決方案的輸出路徑變更為< [安裝資料夾 >\管線元件]。 在 方案總管中,以滑鼠右鍵按一下您的專案,按一下 [建置] 索引標籤,然後按一下 [流覽] 按鈕並選取< [安裝資料夾 >\管線元件] 目錄,以變更 [輸出路徑]。
變更方案的起始動作。 在方案總管中,以滑鼠右鍵按一下您的專案、按一下 [偵錯] 索引標籤、按一下 [啟動外部程式],然後按一下[...],然後流覽至< [安裝資料夾 >\SDK\Utilities\PipelineTools],然後選擇 [Pipeline.exe]。 在 [開始選項] 下,輸入適合您元件的命令列引數。 如需 Pipeline.exe 的詳細資訊,請參閱 管線工具。 指定管線和範例檔案的一般組態設定:
<Path>\YourPipeline.btp -d <Path>\YourTestFile.txt -c
設定您的中斷點。
按 F5 開始偵錯。