調試 Imatest IT

調試基於控制台的應用程式

Imatest 庫產生的大部分診斷資訊都會輸出到 STDOUT 和 STDERR 流。在 4.0 及更高版本中,可以透過新增以下 INI 設定來實現:

[api]
debug=1

如果您想透過測試程序捕獲此輸出並將其保存到日誌檔案中,請按如下方式運行您的程式:

testerprogram.exe > outputlog.txt 2>&1

檢查 outputlog.txt 檔案應該可以找到出錯的詳細資訊。如有任何疑問,請將此文件發送至Imatest 幫助中心。我們將能夠確定故障原因。同時,請附上您的 Imatest INI 檔案、所有產生的 JSON 輸出文件,如果故障是由特定鏡像引起的,也請將該鏡像發送給我們。

調試基於 GUI 的應用程式

在您呼叫 Imatest IT 時,應該將其放在 try 程式碼區塊中,catch 程式碼區塊接收一個mwException物件。然後,您可以新增mwException類別的print_stack_trace()成員函數的呼叫。這將把 Matlab 堆疊追蹤印到 cerr。請注意, print_stack_trace()函數僅適用於非常量級的mwException物件。範例:

嘗試 {
acquire_image(2, im_orig, vstr, source_id, vararginParam);
}
catch (mwException& e) {
cout << “運行錯誤!” << endl;
cerr << e.what() << endl;
e.print_stack_trace();
}

GUI 程式會阻塞您所呼叫的函式庫的 STDOUT 和 STDERR 流。如果您的應用程式沒有輸出 cerr,則必須擷取流輸出。作為我們操作員控制台專案的一部分,我們已經設定了捕獲這些流的方法。

請參閱以下文件,以了解如何擷取串流: