실시간 지원 애플리케이션 문제 해결
RTApps(실시간 지원 애플리케이션)를 개발하는 동안 발생할 수 있는 문제에 대한 몇 가지 문제 해결 단계는 다음과 같습니다.
디버깅 문제
다음과 같은 이유로 디버깅이 실패할 수 있습니다.
Windows 업데이트 실시간 코어의 USB 드라이버를 일반 드라이버로 바꿉니다. 실시간 코어에 대한 디버깅 기능을 복원하려면 관리자 권한으로 PowerShell 또는 Windows 명령 프롬프트를 사용하여 명령줄 인터페이스를 열고 실시간 코어 디버깅을 다시 사용하도록 설정합니다. 다음을 실행할 때 필요한 USB 드라이버가 설치됩니다.
az sphere device enable-development --enable-rt-core-debugging
디버깅 설정 파일에 오류가 포함됩니다. 이 경우 디버거를 시작하지 못할 수 있습니다. 디버거 설정을 편집한 경우 파일의 구문이 올바른지 확인합니다.
온칩 디버거는 이미 다른 컨텍스트에서 시작되었을 수 있습니다. "디버거 서버: 오류: 포트 4444의 소켓에 gdb를 바인딩할 수 없음: 이미 사용 중인 주소" 또는 "오류: 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의 두 번째 instance 디버거에 연결할 수 없습니다. 이 문제를 해결하려면 파트너 애플리케이션 디버그에 설명된 대로 Visual Studio의 단일 instance 모든 앱을 디버그합니다.
CMake 문제
RTApp에서 CMake를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.
- Visual Studio에서 CMake 프로젝트를 처음 열면 CMakeLists 생성이 자동으로 실행되고 애플리케이션의 구성 요소 ID가 설정됩니다. 예를 들어 애플리케이션이 GitHub 리포지토리에 있고 하드 재설정을 완료했기 때문에 구성 요소 ID를 삭제하면 빌드가 실패합니다. 이 문제를 resolve Visual Studio에서 CMake 캐시를 다시 생성합니다.
- CMakeLists.txt 시작 항목이 자주 다시 생성됩니다. CMakeLists 작업은 Visual Studio가 CMake 캐시를 다시 생성할 때마다 실행됩니다. 결과적으로 자주 실행 될 수 있습니다.
- CMake를 사용하여 RTApp을 빌드하면 Visual Studio가 중단됩니다. 이 문제를 방지하려면 Visual Studio 2019 업데이트 1 이상을 사용합니다.
일반적으로 CMake를 사용할 때 오류가 발생하는 경우 CMake 캐시를 다시 생성해 보세요. 이렇게 하면 종종 문제가 해결됩니다.