VOOZH about

URL: https://qiita.com/0ashina0/items/0c0e6321852cf85bf885

⇱ Eclipse CDT で log4cppのサンプルコードをデバッグしてみる #CentOS - Qiita


👁 Image
1

Go to list of users who liked

0

Share on X(Twitter)

Share on Facebook

Add to Hatena Bookmark

More than 5 years have passed since last update.

@0ashina0(芦名 みちる)

Eclipse CDT で log4cppのサンプルコードをデバッグしてみる

1
Last updated at Posted at 2018-03-04

環境

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

👁 image.png

👁 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

👁 image.png

Breakpointが表示される
👁 image.png

8. デバッグする。

デバッグボタンを押す。

👁 image.png

コンソールにエラーが表示される場合は、環境変数を設定する。

👁 image.png

/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

1

Go to list of users who liked

0
0

Go to list of comments

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1

Go to list of users who liked

0