環境
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. プロジェクトを作成する。
Project name、Project Type、Toolchainsを入力
2. ソースコードフォルダを作成する。
(必須ではない)
File -> New -> Source Folderメニュ選択
3. ファイルをインポートする。
Importしたいファイルと格納先を選択 サンプルコードとpropertyファイルをImportする
サンプルコード:testPropertyConfig.cpp
propertyファイル:testConfig.log4cpp.properties
4. インクルードパスを通す。
C/C++ General -> Paths and Symbols メニュ選択。Includesタブで、Addボタンをクリックし、log4cppのInclude Pathを入力。
5. ライブラリパスを通す。
Libraryタブで、Addボタンをクリックし、log4cppのLibrary Pathを入力。
Librariesタブで、Addボタンをクリックし、log4cppのLibrary Fileを入力。ファイル名の頭のlibと拡張子は削除する。(liblog4cpp.so -> log4cpp)
PthreadのLibrary Fileを入力。(libpthread.so -> pthread)
6. ビルドする。
7. ブレークポイントをセットする。
止めたい箇所で右メニュを開き、Add Breakpointメニュ選択
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 メニュ選択
Debug perspectiveを開くかダイアログが表示されるので、yes
をクリックする
Breakpointで停止しているのが確認できる。Step Overアイコンをクリックする。
コンソールに実行結果が出力されているのが確認できる。プログラムが終了しているのも確認できる。