More than 5 years have passed since last update.
Eclipse CDT で log4cppのサンプルコードをデバッグしてみる
環境
CentOS Linux release 7.0.1406 (Core)
Eclipse Version: Neon.3 Release (4.6.3)
・CentOSは、Dockerイメージ「centosjp」を元にしています。
Dockerイメージ「centosjp」の作り方は、Window10に日本語対応CentOS7のdockerコンテナを作ってみたを参照。
・Eclipseは、「centosjp」をもとに、以下の方法でインストールしています。
ネットにつながっていないCentOSにEclipse CDTとSubversionのプラグインを入れてみた。
・log4cppは、以下の方法でインストールしています。
log4cppをCentOSにインストールする
・デバッグボタンを押すと、Operation not permitted.のエラーメッセージが出て実行できません。以下のように/proc/sys/kernel/yama/ptrace_scopeを書き換える必要がありました。
echo 0 > /proc/sys/kernel/yama/ptrace_scope
そのためには、--privileged オプション付きでDockerコンテナを実行させる必要があります。
docker run --privileged -ti [コンテナID] /bin/bash
1. プロジェクトを作成する。
C++ Project を選択する
👁 image.png
Project name、Project Type、Toolchainsを入力
👁 image.png
2. ソースコードフォルダを作成する。
(必須ではない)
File -> New -> Source Folderメニュ選択
👁 image.png
Folder名に「src」を設定
👁 image.png
3. ファイルをインポートする。
インポートしたいフォルダ上で、右メニュ -> Import
👁 image.png
General -> File System
👁 image.png
Importしたいファイルと格納先を選択 サンプルコードとpropertyファイルをImportする
サンプルコード:testPropertyConfig.cpp
👁 image.png
propertyファイル:testConfig.log4cpp.properties
👁 image.png
ソースTreeに追加される
👁 image.png
4. インクルードパスを通す。
Project -> Propertis メニュ選択
👁 image.png
C/C++ General -> Paths and Symbols メニュ選択。Includesタブで、Addボタンをクリックし、log4cppのInclude Pathを入力。
👁 image.png
5. ライブラリパスを通す。
Libraryタブで、Addボタンをクリックし、log4cppのLibrary Pathを入力。
👁 image.png
pthreadののLibrary Pathを入力。
👁 image.png
Librariesタブで、Addボタンをクリックし、log4cppのLibrary Fileを入力。ファイル名の頭のlibと拡張子は削除する。(liblog4cpp.so -> log4cpp)
👁 image.png
PthreadのLibrary Fileを入力。(libpthread.so -> pthread)
👁 image.png
6. ビルドする。
ビルドのアイコンをクリックする
👁 image.png
7. ブレークポイントをセットする。
止めたい箇所で右メニュを開き、Add Breakpointメニュ選択
👁 image.png
Breakpointが表示される
👁 image.png
8. デバッグする。
デバッグボタンを押す。
コンソールにエラーが表示される場合は、環境変数を設定する。
/root/workspace45/sample/Debug/sample: error while loading shared libraries: liblog4cpp.so.5: cannot open shared object file: No such file or directory
環境変数 LD_LIBRARY_PATHにエラーとなったliblog4cpp.so.5のパスを設定する
Run -> Debug Configurations メニュ選択
👁 image.png
Enviromentタブで、環境変数を設定する。
👁 image.png
Debug perspectiveを開くかダイアログが表示されるので、yesをクリックする
👁 image.png
Breakpointで停止しているのが確認できる。Step Overアイコンをクリックする。
👁 image.png
1行進んで停止しているのが確認できる。
👁 image.png
Resumeアイコンをクリックする。
👁 image.png
コンソールに実行結果が出力されているのが確認できる。プログラムが終了しているのも確認できる。
👁 image.png
9. makefileを確認する
「5. ライブラリパスを通す。」で設定した内容が確認できる。
👁 image.png
「4. インクルードパスを通す。」で設定した内容が確認できる。
👁 image.png
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
