共用方式為


偵錯自定義管線

當自定義管線中的訊息處理失敗時,您可以使用來源層級偵錯來識別並更正問題。 來源層級偵錯使用 Visual Studio 偵錯工具完成,方法是附加到 BTSNTSVC.exe(如果部署自訂管線),或 Pipeline.exe(如果使用獨立管線工具)。

程序

使用下列程式來偵錯自定義管線。

如何除錯已部署的管線

從 [群組中樞] 頁面和事件檢視器中追蹤查詢,可提供有關已部署元件中訊息處理失敗的實用資訊。 此資訊通常可用來縮小問題的來源範圍。 自定義管線一旦牽涉到,來源層級偵錯就可以用來識別任何有問題的程序代碼。

使用 Visual Studio 對已部署的自定義管線進行偵錯
  1. 將自定義管線專案方案載入Visual Studio。

  2. 將解決方案的輸出路徑變更為 <[安裝資料夾>\管線元件]。 在 [方案總管] 中,以滑鼠右鍵按下您的專案,按兩下 [建置] 索引標籤,然後按兩下 [ 瀏覽 ] 按鈕並選取 <[安裝資料夾>\管線元件] 目錄,以變更 [輸出路徑]。

  3. 從 Visual Studio 內,按兩下 [ 建置 | 部署] 來部署方案。

  4. 重新啟動執行管道作業的主機實例。 使用 BizTalk Server 管理控制台,流覽至執行管線的主機實例,以滑鼠右鍵單擊主機實例,然後按兩下 [ 重新啟動]。

  5. 將 Visual Studio 除錯程式附加至 BTSNTSVC.exe。 您可以按下 [ | 錯附加至進程]、按兩下 [顯示所有會話中的進程],然後按兩下 BTSNTSVC.exe來完成。

  6. 設定斷點。

  7. 在適當的位置放置訊息,以啟動自定義管線元件。 處理應該會在您設定的斷點上停止。

備註

如果您的程式代碼擲回例外狀況,BizTalk Server 會攔截它,最後暫停訊息。 若要避免這種行為,您應該在第一次發生例外狀況時中斷。

如何使用 Pipeline.exe 進行偵錯

您也可以使用 Pipeline.exe測試自定義管線。 這種方法的優點是您不必部署管線,但代價是無法在與生產環境相似的條件下運行。

備註

如果您的自定義管線使用一般檔案組合器/反組譯程式,則 Pipeline.exe 將無法正常執行。 這是因為 Pipeline.exe 無法存取 BizTalk 資料庫。 其中一個解決方案是移除組合器/反組譯工具元件,並使用 FFDasm.exe 和 FFAsm.exe個別測試它們。 如需詳細資訊,請參閱 管線工具

使用 Pipeline.exe 和 Visual Studio 對自定義管線進行除錯
  1. 將自定義管線專案方案載入Visual Studio。

  2. 將解決方案的輸出路徑變更為 <[安裝資料夾>\管線元件]。 在 [方案總管] 中,以滑鼠右鍵按下您的專案,按兩下 [建置] 索引標籤,然後按兩下 [ 瀏覽 ] 按鈕並選取 <[安裝資料夾>\管線元件] 目錄,以變更 [輸出路徑]。

  3. 變更解決方案的開始動作。 在 [方案總管] 中,以滑鼠右鍵按下您的專案,按兩下 [偵錯] 索引標籤,按兩下 [啟動外部程式],然後按下 [...] ,然後流覽至 <[安裝資料夾> ]\SDK\Utilities\PipelineTools and choose Pipeline.exe。 在 [開始選項] 下,輸入適合您元件的命令行自變數。 如需 Pipeline.exe的詳細資訊,請參閱 管線工具。 一般組態會指定管線和範例檔案:

    <Path>\YourPipeline.btp -d <Path>\YourTestFile.txt -c  
    
  4. 設定斷點。

  5. 按 F5 開始偵錯。

另請參閱

管線工具