1

Eclipseを使用してclangをデバッグしようとしています。私は、プリプロセッサのコンストラクタでclang/lib/lex/preprocessor.cppにブレークポイントを設定しました。Eclipseを使用してclangをデバッグする方法

  1. デバッグ設定の引数として "test.c"ファイルを設定しました。
  2. 実行に移動 - >デバッグAs->ローカルC/C++アプリケーション。
  3. 「デバッグするローカルアプリケーションを選択する」という質問があります。私は "clang"を選択し、OKをクリックしました。
  4. コードの作成が始まりました。ビルドが完了しました。
  5. デバッグウィンドウのmain()で停止しました。いくつかのシザーズ後
  6. (main()のために利用可能なソースなし)は、それが「終了:GDBデバッガ(終了しました終了コード= 255)」言わない私が打ち鳴らすコードに取られていないです

(プリプロセッサコード)。誰かが私にclangコードをデバッグする方法を教えてもらえますか?私はclangのコードフローを見たいと思います。 ASTを構築する方法について説明します。

答えて

2

実際には、Clangバイナリにはドライバとコンパイラのフロントエンド自体の2つのアプリケーションが含まれています。後者は-cc1 cmdlineオプションで実行されます。したがって、ツール呼び出しの実際のシーケンスを表示するには、clangコマンドラインに-vを追加し、フロントエンドのcmdline(-cc1を含むコマンドライン)を取得し、このcmdlineをデバッグに使用します。

+0

私はclangを使用して自分のコードをデバッグしようとしていません。私はclangのコードをデバッグしたい。 Eclipseで "Makefile Project"としてLLVM Sourceを開いてデバッグしてください。 –

+0

はい、私はclang自身のための指示を書いた。 –

0

同じ問題がありました - バイナリをビルドするときに-gフラグ(デバッグ情報を有効にする)がありません。 cmakeのはCMAKE_BUILD_TYPEオプションを指定して、それを実行する実行している:

cmake -G "Eclipse <CDT_Version> - Unix Makefiles" -D_ECLIPSE_VERSION=<eclipse_version> -DCMAKE_BUILD_TYPE=Debug <llvm_source_path> 

例:

cmake -G "Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.4 -DCMAKE_BUILD_TYPE=Debug ../llvm/ 

はこれが役立つことを願っています。

関連する問題