LLVM 3.1을 다운로드하여 성공적으로 빌드했습니다. 내 요구 사항은 몇 가지 디버깅 줄을 C++ 소스 코드 파일에 추가하는 것입니다. CLANG 3.1을 사용하여 모듈을 코딩했습니다. 하지만 CLANG은 gcc가하지 않는 많은 AST 오류를보고합니다. 내 코드는 gcc 컴파일러로 잘 컴파일됩니다. 또한 C++ 프로그램에는 #include 문이 많이 있습니다. LLVM은 동일한 경로에서 동일한 것을 사용할 것으로 기대하고 다른 레벨에서 다시 실패합니다.LLVM : C++ 소스 코드에 디버깅 라인 삽입
답변
clang에는 clang을 사용하여 소스와 소스 도구를 쉽게 작성할 수있는 libTooling이라는 새 라이브러리가 있습니다. 나는 당신이 그것을 조사 할 것을 제안한다. 이것을 사용하는 가장 완벽한 예제는 clang-format으로, 형식 지정 지침에 따라 임의의 C++ 코드를 다시 포맷합니다. 모든 의미를 유지하면서 소스 레벨에서 C++ 코드를 다시 작성하는 방법을 보여줍니다. 그것은 특정 장소에서 특정 진술의 삽입을 추가하기 위해 해킹하기가 어렵지 않아야합니다.
자세한 내용을 고맙지 만 샘플 프로그램을 통해 시도 할 때 아래 오류가 발생합니다. ./clang-check t.cpp ---- LLVM 오류 : JSON 데이터베이스를 열 때 오류가 발생했습니다 : 해당 파일이나 디렉토리가 없습니다. – Prakash
@Prakash : 그게 세부 사항은 아니지만 ... 당신이 따라야 할 단계와 코드 오류를 발견 한 새로운 질문을 열어야한다고 생각합니다. 이 문제들에 대해서는 cfe-dev 메일 링리스트에서보다 빠르고 더 좋은 답변을 얻을 수 있습니다. –
- 1. LLVM IR 명령어와 소스 라인 사이의 맵
- 2. 소스 코드에 버전 번호 삽입
- 3. 디버깅. 안드로이드 소스 코드에 들어가십시오. Eclipse
- 4. llvm 명령어의 라인 번호
- 5. 코드에 따라 LLVM
- 6. llvm-ld 크래시 디버깅
- 7. 순수 OpenGL 소스 코드에 XIB를 삽입 하시겠습니까?
- 8. C 소스 코드에 DLL 코드
- 9. 내 소스 코드에 바이트 코드를 삽입 할 수 있습니까?
- 10. URI가 소스 코드에 있음
- 11. C 소스 코드에 단락을 저장하는 방법은 무엇입니까?
- 12. GIT (C#)의 기본 소스 코드에 연결
- 13. C 소스 코드에 프로젝트의 SVN 개정판을 포함합니다.
- 14. 파이썬에서 라인 디버깅
- 15. LLVM/Clang 소스 코드의 범위
- 16. 삽입 라인
- 17. C 모듈 용 gdb로 파이썬 소스 디버깅
- 18. Ruby 디버깅 오픈 소스 라이브러리
- 19. 문자 삽입 특정 라인
- 20. LLVM 빌드 : 작업 빌드에서 복제 된 소스
- 21. 소스 코드에 TD 사이
- 22. 캡쳐가보기 소스 코드에
- 23. 함수 호출의 소스 라인 찾기
- 24. LLVM 소스 파일 쓰기와 API 사용하기
- 25. Eclipse에서 LLVM 소스 코드를 작성하는 방법은 무엇입니까?
- 26. .ll 파일에서 소스 행 번호를 얻는 방법 LLVM
- 27. 데이터베이스에 내 코드에 삽입
- 28. 소스 디버깅 가능 JVM
- 29. eclipse e4 소스 코드 디버깅
- 30. 포트폴리오 타임 라인 소스
당신이 여기에서 묻고있는 것이 나에게 정말로 불분명합니다. Clang이 GCC가 컴파일하는 코드에서 오류를보고하는 이유를 이해하려고합니까? 그렇다면 코드를 더 잘 공유하고 어떤 오류가 발생했는지 표시하십시오. Clang이 포함되지 않은 GCC가 include 파일을 찾는 데 성공한 이유가 궁금하십니까? 두 가지 모두에 사용했던 명령 줄을 보여 줄 수 있습니다. 또는 메서드 호출 후 printf를 추가하는 LLVM 패스를 작성하는 방법을 묻는 중입니까? 아니면 내가 너를 완전히 오해 한 것일까? 너는 완전히 다른 것을 요구하고 있는가? 즉, 명확히하십시오. – Oak
세부 사항에 따라 질문을 업데이트했습니다. 예, 내 C++ 소스 코드 파일에 디버깅 문을 추가하는 방법을 찾고 있습니다 – Prakash
아직 무엇을하려고하는지 전혀 이해하지 못합니다. 몇 줄의 코드를 제공하고 호출 한 실제 명령과 오류 메시지를 제공 할 수 있습니까? –