針對支援即時功能的應用程式進行疑難排解
以下是在 RTApps () 開發支援即時應用程式時可能會發生的一些疑難排解步驟。
偵錯問題
偵錯可能會因為下列原因而失敗:
Windows Update將即時核心的 USB 驅動程式取代為一般驅動程式。 若要還原即時核心的偵錯功能,請以系統管理員許可權使用 PowerShell 或 Windows 命令提示字元開啟命令列介面,並重新啟用即時核心偵錯。 執行時會安裝必要的 USB 驅動程式:
az sphere device enable-development --enable-rt-core-debugging
偵錯設定檔案包含錯誤。 在這種情況下,偵錯程式可能無法啟動。 如果您已編輯偵錯工具設定,請確定檔案的語法正確無誤。
晶片偵錯工具可能已在其他內容中啟動。 如果您看到錯誤,例如「偵錯程式伺服器:錯誤:無法將 gdb 系結至埠 4444 上的套接座:已在使用中的位址」或「錯誤:libusb_open () 在LIBUSB_ERROR_ACCESS失敗」,請檢查您是否已經執行 openocd 或 gdb 程式。
如果您在 Linux 上執行,命令
sudo lsof -n -i :4444 | grep LISTEN
應該會顯示保留埠 4444 開啟的任何處理程式。 使用4444
錯誤訊息中提及的任何其他埠取代時,該埠應提供相同的資訊。您可能遺失 Ubuntu 20.04 系統上的 libncurses5 套件。 如果您看到錯誤,例如「載入共用文件庫時發生錯誤:libncurses.so.5:無法開啟共用物件檔案:沒有這類檔案或目錄」,您應該安裝套件,如下所示:
sudo add-apt-repository universe sudo apt-get install libncurses5
如果您嘗試使用多個 Visual Studio 實例一次偵錯一個高階應用程式和兩個 RTApp,則第二個 Visual Studio 實例將無法連線到偵錯程式。 若要解決此問題,請偵錯來自 Visual Studio 單一實例的所有應用程式,如 偵錯合作夥伴應用程式中所述。
CMake 問題
搭配 RTApp 使用 CMake 時,您可能會遇到下列問題:
- 當您第一次在 Visual Studio 中開啟 CMake 專案時,CMakeLists 一代會自動執行並設定應用程式的元件識別碼。 如果您接著刪除元件識別碼,例如,因為應用程式處於 GitHub 復原中,而且您已完成硬重設,則組建會失敗。 若要解決此問題,請在 Visual Studio 中重新產生 CMake 快取。
- CMakeLists.txt 啟動專案會經常重新產生。 每當 Visual Studio 重新產生 CMake 快取時,CMakeLists 工作就會執行。 因此,它可能會經常執行。
- 當您使用 CMake 建置 RTApp 時,Visual Studio 會當機。 若要避免此問題,請使用 Visual Studio 2019 更新 1 或更新版本。
一般注意,如果您使用 CMake 時發生錯誤,請嘗試重新產生 CMake 快取。 這通常可以解決問題。