나는 그러한 설정을했습니다. 나는 스펙에서 임베디드 디바이스를 프로그래밍 할 필요가있다. 비록 디바이스를 켜면 분명히 디스플레이가 리눅스 관련 아무것도 보이지 않는다 - 작은 디스플레이). 임베디드 장치에는 자체 SDK가 있습니다. 이제 valgrind를 사용하여 메모리 관리/할당을 확인하는 방법을 생각했습니다. valgrind를 사용하여 내 장치 용으로 작성된 프로그램을 확인할 수 있습니까? 내가보기에 문제는 프로그램에 일부 장치 관련 SDK 호출이 포함되어있을 수 있으므로 프로그램이 을 내 데스크탑에서 실행하는 일반적인 fedora Linux에서 실행하지 못할 수도 있다는 것입니다. 내 옵션에는 어떤 것이 있습니까?내장 된 장치에서 valgrind 사용
답변
아마도.
실제로 Linux를 실행해야합니다.
하드웨어 플랫폼을 찾아냅니다. Valgrind supports quite a few platforms (모두는 아님).
플랫폼에 여유 공간 (메모리 및 CPU 속도)이 있는지 고려하십시오. Valgrind를 실행하는 것은 비용이 많이 듭니다.
모두 체크 아웃하면 Valgrind를 실행할 수 있어야합니다. 물론 대상 시스템에 가져올 수 있다고 가정합니다. 물론 build and install해야 할 수도 있습니다.
나는 일부 형태의 터미널/콘솔 액세스, 즉 직렬 포트, 텔넷 또는 대상에서 프로그램을 실행하는 데 사용할 수있는 것으로 가정합니다.
업데이트 : : 의견에 대한 의견을 토대로 특정 장치에서 Valgrind를 실행할 가능성이 의심됩니다.
나는 약간 혼란 스럽다. 이 장치는 http://p.globalsources.com/IMAGES/PDT/B1054670876/POS-Terminal.jpg와 유사합니다. 하드웨어는 말한다 : 듀얼 CPU 32 비트 ARM9 CPU. 분명히이 장치를 실행할 때 (작은 화면 크기로 인해) 숫자와 문자를 거의 볼 수 없습니다 ... 그래서이 장치에서 어떻게 valgrind를 실행할 수 있습니까? 출력은 어디서 볼 수 있습니까? –
[ "ARM9"(http://stackoverflow.com/questions/6378152/valgrind-on-the-arm9)에 대한이 질문을 보려면 정밀도가 더 필요합니다. – unwind
기기의 사양입니다. http://s30.postimg.org/6ftarwgz5/2012051115061359.jpg. 거기에 피질을 볼 수 없습니까? 그러나 valgrind에 대한 지원이 있었다고해도이 장치에서 valgrind를 어떻게 실행합니까? 출력은 어디서 볼 수 있습니까? (이미 장치가 물리적으로 어떻게 보이는지 보여 줬습니다.) –
내장형 장치에서 valgrind를 실행하는 것은 불가능하지는 않더라도 매우 어려울 수 있습니다.
단위 테스트를 만들고 호스트 플랫폼에서 valgrind를 사용하여 테스트를 수행 할 수 있습니다. 이는 최소한 코드의 일부분에 대한 메모리 문제를 확인하는 방법입니다.
다른 옵션은 플랫폼 에뮬레이션을 사용하고 에뮬레이터에서 프로그램을 다시 실행하는 것입니다 (다시 호스트 시스템에서). QEMU 꽤 유명한 오픈 소스 에뮬레이터입니다.
"호스트"는 어떤 플랫폼을 의미합니까? 당신이 제공 한 링크로는 쉬운 일이 아닌 것처럼 보입니다 ... 좋은 정적 검사 프로그램이 있습니까? 메모리 누수를 확인 하시겠습니까? 이 코드는 코드에서만 실행할 수 있습니다. –
@dmcr_code "호스트"에서 나는 프로그램을 작성하고 컴파일하는 컴퓨터를 의미합니다. 당신이 묻는 것은 상당히 복잡한 주제입니다. 정적 체커는 일부 확장까지 도움이되지만 valgrind가 훨씬 좋습니다. –
네, 그렇지만 제 호스트 컴퓨터에서 모든 코드를 실행할 수 없다고 말했습니까? 일부 코드는 장치 SDK에 대한 호출을 포함 할 수 있으므로 내 컴퓨터에서는 실행되지 않습니다. –
- 1. Valgrind unitialized 값 사용
- 2. 내장 된 브로커 사용 - 장단점
- 3. Sitefinity Captcha에 내장 된 사용
- 4. 스크립트에 내장 된 밑줄 사용
- 5. Symfony2에 내장 된 양식 사용
- 6. 중포 기지 signInWithPopup 내장 브라우저 모바일 장치에서
- 7. forge에 내장 된 iOS 앱용 마이크 사용
- 8. Ckeditor : 맞춤법 검사기에 내장 된 Firefox 사용
- 9. 내장 된 인수 세트가있는 tr 사용
- 10. 안드로이드에 내장 된 PIN/패스워드 사용
- 11. SQLite가 내장 된 DB 관리자 사용
- 12. Storyboard에 내장 된 UITabBarItem 이미지 사용
- 13. Wordpress에 내장 된 보안 문자 사용 안함
- 14. Updater.exe가 내장 된 app.exe
- 15. 명령 줄에서 호출하지 않은 프로그램에서 Valgrind 사용
- 16. 안드로이드 장치에서 neo4j 사용
- 17. Valgrind 출력
- 18. python의 내장 함수. 사용 방법?
- 19. 내장 함수 사용/사용 안 함 C++
- 20. openssl/valgrind
- 21. SSL 웹 사용 내장 장치
- 22. 암에서 GCC의 내장 함수 사용
- 23. 아이 패드에 내장 된 브라우저
- 24. 내장 된 WorkbenchAction 사용자 정의
- 25. 내장 된 UIToolBar의 색조
- 26. jquery에 내장 된 배열
- 27. Jetty가 내장 된 인증
- 28. 시스템 시계가 내장 된
- 29. JPanel에 내장 된 브라우저
- 30. php.net에 내장 된 클래스
분석 할 항목에 따라 Clang Address Sanitizer를 사용하는 것이 훨씬 빠릅니다 (valgrind는 매우 느립니다). 또는 바탕 화면에서 소프트웨어를 실행할 수 있습니다. –