Slide 1



Similar documents
Text

論文誌用MS-Wordテンプレートファイル

GettingStartedTK2

1. プロジェクトサンプルのダウンロードと 解 凍 1.1. プロジェクトサンプルのダウンロード 当 サイトのプロジェクトサンプルの 圧 縮 ファイルBlink_LED_Status_10K.zipをダウンロードしてください ダウンロードが 終 了 したら [フォルダーを 開 く] ボタンをくりっく

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

文科省様式3-2集計オプションマニュアル

電子納品チェックシステム利用マニュアル

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

工事記録写真チェックシステム 操作説明書

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

目 次 1. 本 マニュアルについて D-Case ステンシルの 導 入 概 要 インストール D-Case 編 集 D-Case メニュー ノード リンク..

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

技術報告会原稿フォーマット

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま

研究者情報データベース

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

01_07_01 データのインポート_エクスポート_1

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード]

1

WebOTXマニュアル

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev: 商 標 類 Windows Office Excel

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

WEBメールシステム 操作手順書

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

計算式の取り扱い

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

購買ポータルサイトyOASIS簡易説明書 b

Eclipse&gcc install and tutorial

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

インストール インストール ダウンロードしたファイルをダブルクリックすると 下 記 のファイルが 展 開 されます JigenApp.exe JigenRestart.exe JIGENctrl.dll PC 内 の 任 意 の 同 一 フォルダに 上 記 ファイル 全 てコピーします インストール

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

intra-mart Accel Platform — ViewCreator ユーザ操作ガイド   第6版  

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン


_禑暥ã†�ã…“ã……ã…‹ç«¯æœ«ã‡»ã……ã…‹ã‡¢ã……ã…Šæ›‰é€ƒæł¸ã•’10ã•‚V1.3.xls

ボタンをクリックします ( 警 告 が 表 示 されない 場 合 もあります ) 9 画 面 に Win SFX32M V と 表 示 されますので 保 存 する 箇 所 を 選 択 し OK をクリックしてください 選 択 した 箇 所 にインストールしたフォルダが 保 存 され

CubePDF ユーザーズマニュアル

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

< F2D89C692EB834E CC837A815B B83578DEC>

Microsoft Word - アンケート集計マニュアル.docx

スライド 0

Microsoft PowerPoint - Tutorial_2_upd.ppt

岡三RSS 新機能・変更点

賞 状 を 作 ってみよう 1- 賞 状 フォルダを 使 用 賞 状 のテンプレートから ワードで 賞 状 の 文 章 を 作 成 します あらかじめ EXCEL で 作 成 した 受 賞 者 の 名 簿 から 学 年 クラス 名 前 を 入 れて 印 刷 します 1Excel の 賞 状 名 簿.

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

<82C582F182B382A2322E3594C5837D836A B2E786C73>

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

CSV_Backup_Guide

101 ソフトを 解 凍 するには ダウンロードしてきたEXEファイルをダブルク リックして 解 凍 を 行 います ( 参 考 ) soft01.exe (ソフト1 講 習 会 等 名 簿 管 理 ソフト) Soft02.EXE (ソフト2 名 簿 等 変 換 補 助 ソフト) ダブルクリックする

< AD82E98AC7979D89E696CA837D836A B A B817A5F E786C73>

取扱説明書

Eclipse&gcc install and tutorial

共済会_Kねっと利用マニュアル.indd

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

活用ガイド-編集しよう

Microsoft Word - TCⅡマニュアル_第6章_ doc

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

Transcription:

OpenFoamのためのC/C++ 第 5 回 IDEによるデバッグ ソースコード 管 理 (*) 田 中 昭 雄 (*) 分 量 の 問 題 で 割 愛

目 的 この 勉 強 会 の 資 料 があれば OpenFoamカスタマイズ 時 にC/C++で 迷 わない 2

予 定 第 1 回 メモリ 管 理 第 2 回 CFDの 例 で 勉 強 するクラス 第 3 回 OpenFOAMで 勉 強 するテンプレート 第 4 回 ソルバーカスタマイズの 基 本 第 5 回 IDEによるデバッグ ソースコード 管 理 第 6 回 未 定 (できればUtilitiesを 使 った 何 か) 3

今 回 のテーマ IDEによるデバッグ ソースコード 管 理 利 用 環 境 Ubuntu 12.04.1 LTS Oracle Java 7 runtime Eclipse CDT Galileo SR2 64bit OpenFoam v2.1.1 4

Agenda 使 い 方 5

Eclipseとは Eclipseはソフトウェア 開 発 を 効 率 化 するためのソフトウェア 使 い 方 Eclipse Javaで 開 発 されているソフトウェア 開 発 統 合 開 発 環 境 様 々なプログラミング 言 語 に 対 応 するバージョンがある Eclipse CDTによりC/C++を 利 用 して 開 発 が 可 能 統 合 開 発 環 境 コーディング デバッグ ビルドを 効 率 化 するための 様 々な 機 能 を 持 ったソフトウェア 6

JRE (Java Runtime Environment)インストール 使 い 方 JREインストール JRE (Java Runtime Environment) Javaで 開 発 されたソフトウェア 実 行 に 必 要 なソフトウェア Eclipseを 実 行 するために 必 要 インストールした 後 明 示 的 なJRE 実 行 は 不 要 下 記 のうちどちらかをインストール: OpenJDK GUIからインストール 可 能 (*apt-getを 利 用 してもOK) Oracle 版 CUIからインストール (apt-getを 利 用 ) 7

JRE (Java Runtime Environment)インストール JREインストール 使 い 方 OpenJDKのインストール(Ubuntu Software Centerを 利 用 ): Ubuntu Software Center を 起 動 JRE で 検 索 OracleJDK Java 7 Runtime インストール 8

JRE (Java Runtime Environment)のインストール JREインストール 使 い 方 Oracle 版 のインストール(apt-getを 利 用 ): Terminalを 起 動 Apt repositoryの 更 新 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update インストール sudo apt-get install oracle-java7-installer 9

Eclipseのダウンロード JREインストール ダウンロード 解 凍 使 い 方 下 記 サイトよりダウンロード http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/galileosr2 32bit / 64bitの 違 いがあるので 注 意 (*) 適 当 なディレクトリに 解 凍 ~/Eclipseディレクトリなど (*) Terminalで uname a を 実 行 x86_64 が 含 まれていたら64bit / 含 まれていなかったら32bit 10

使 い 方 起 動 ワークスペース プロジェクト 使 い 方 起 動 ワークスペースの 指 定 ホームディレクトリ 以 下 であればどこでも 良 い ワークスペースとは 複 数 のプロジェクトをまとめたファイル 置 き 場 同 じワークスペースのプロジェクトは 設 定 を 共 有 OpenFOAM カスタマイズソルバーが プロジェクトと1 対 1で 対 応 するイメージ プロジェクトとは 開 発 するアプリケーションを 構 成 するまとまり ビルドするとアプリケーション 実 行 形 式 が 生 成 (*) (*) 厳 密 には 1つのライブラリもしくは1つのアプリケーションがプログラムに 対 応 11

使 い 方 ワークスペース プロジェクトと 関 係 ワークスペースA ワークスペースB 使 い 方 プロジェクトC プロジェクトF プロジェクトD プロジェクトG プロジェクトE 設 定 (*) 設 定 (*) (*) エディタ 言 語 設 定 などのみ 共 有 ビルド 設 定 などはプロジェクト 個 別 に 指 定 される 12

画面の構成 ソースコード編集用とデバッグ用の画面構成が存在 双方を切り替えながら効率的に開発 切替 C/C++パースペクティブ ソースコード編集に特化した 画面構成 Debugパースペクティブ デバッグ機能に特化した 画面構成 切替方法 ウィンドウ右上の C/C++ Debug ボタンを利用 (*) (*) Debug ボタンは初めてデバッグ実行した際に 生成されます

使 い 方 C/C++パースペクティブ メニュー ツールバー 使 い 方 Project Explorer プロジェクト 内 ファイルを 管 理 エディタ ソースコード 編 集 Outline / Make Targets エディタ 内 情 報 特 殊 ビルド 設 定 など Problems / Console / Progress etc. ビルド 実 行 結 果 を 表 示 14

使 い 方 Debugパースペクティブ メニュー 使 い 方 Debugウィンドウ (スタックトレース) 一 時 停 止 中 の 関 数 呼 び 出 し 状 態 表 示 ツールバー Variables / Breakpoints etc. 一 時 停 止 中 の 変 数 値 / 設 定 中 のブレークポイントリストなど エディタ Outline コード 編 集 / 一 時 停 止 中 の 位 置 表 示 エディタ 内 情 報 Problems / Console etc. ビルド 実 行 結 果 を 表 示 15

簡単なプログラム作成 数列ファイルを読み込んで平均値を標準出力 プログラム名 calc_average 実行方法 calc_average [数列ファイルパス] 数列ファイルのフォーマット 例 1行目 自然数値 数列の要素数 5つの要素を持つ数列ファイル 2行目以降 各行に1つの実数値 5 1行目で指定された要素数だけ行が続く 24.2-30.5 43.9 0.8 7.1

使 い 方 Eclipseを 使 った 簡 単 なソフトウェア 開 発 の 流 れ 使 い 方 プロジェクト 作 成 ソースコードファイル 作 成 コーディング デバッグビルド アプリケーション 開 発 を 構 成 する 設 定 作 成 アプリケーションを 構 成 するファイルを 作 成 ソースコードファイルにプログラムを 書 く 実 行 途 中 結 果 を 確 認 できる 形 式 にビルド デバッグ リリースビルド 実 行 途 中 の 結 果 を 確 認 しながらテスト 本 番 用 にビルド (デバッグ 情 報 なしでビルド)(*) (*) リリースビルドとデバッグビルドの 違 いは ビルド 情 報 生 成 利 用 の 有 無 最 適 化 オプションなど 実 行 速 度 が 大 幅 に 異 なる プロジェクト 別 の 設 定 17

使 い 方 Eclipseを 使 った 簡 単 なソフトウェア 開 発 の 流 れ 使 い 方 プロジェクト 作 成 ソースコードファイル 作 成 コーディング デバッグビルド アプリケーション 開 発 を 構 成 する 設 定 作 成 アプリケーションを 構 成 するファイルを 作 成 ソースコードファイルにプログラムを 書 く 実 行 途 中 結 果 を 確 認 できる 形 式 にビルド デバッグ リリースビルド 実 行 途 中 の 結 果 を 確 認 しながらテスト 本 番 用 にビルド (デバッグ 情 報 なしでビルド)(*) 18

簡単なプログラム作成 プロジェクト作成 1. メニュー File New C++ Project C++ Project ウィザードダイアログ起動 2. Project name に名前を入力 Empty Project 選択して Finish 3. Project Explorer に新しいプロジェクトが作成される Project Explorer デフォルトではワークベンチ左側(*) プロジェクト作成された事がわかる C++ Project ウィザードダイアログ ここではProject nameを calc_average に設定 (*) 見つからない場合 メニュー Window Show View Project Explorer で表示

簡単なプログラム作成 ソースコードファイル作成 1. Project Explorer の calc_average を右クリック 2. New Source File New Source File ウィザードダイアログ起動 3. Source File にファイル名を入力して Finish 4. Project Explorer の calc_average 以下にに新しいファイルが 作成される New Source File ウィザードダイアログ ここでは main.cpp を入力 Project Explorer calc_average 以下に main.cpp が 作成された事がわかる 20

簡単なプログラム作成 コーディング 1. Project Explorer の main.cpp をダブルクリック エディタにmain.cppのソースコードが表示 2. エディタを利用してコーディング ①ダブルクリック ②エディタに ソースコードファイルが表示 コーディング 21

使 い 方 簡 単 なプログラム 作 成 コーディング 使 い 方 #include <iostream> #include <fstream> #include <string> #include <cassert> bool load(const std::string& filepath, int& num, double*& arr){ std::ifstream in(filepath.c_str()); if(!in){ return false; in >> num; if(0 < num){ arr = new double[num]; for(int i = 0; i < num; ++i){ in >> arr[i]; in.close(); return true; int main(int argc, char* argv[]){ if(2 > argc){ std::cout << "error: invaid argument n"; return 0; int num = 0; double* arr = 0; if(!load(argv[1], num, arr)){ std::cout << "error: fail to load, " << argv[1] << " n"; return 0; if(1 > num){ std::cout << "error: the number of elements is 0 n"; return 0; std::cout << "num: " << num << " n"; std::cout << "average: " << calc_average(num, arr) << " n"; double calc_average(int num, const double* arr){ assert(num > 0); double sum = 0; for(int i = 0; i < num; ++i){ sum += arr[i]; return sum / num; delete [] arr; return 0; 22

使 い 方 簡 単 なプログラム 作 成 コーディング 使 い 方 #include <iostream> #include <fstream> #include <string> #include <cassert> bool load(const std::string& filepath, int& num, double*& arr){ std::ifstream in(filepath.c_str()); if(!in){ return false; in >> num; if(0 < num){ arr = new double[num]; for(int i = 0; i < num; ++i){ in >> arr[i]; in.close(); return true; int main(int argc, char* argv[]){ if(2 > argc){ std::cout << "error: invaid argument n"; return 0; int num = 0; double* arr = 0; if(!load(argv[1], num, arr)){ std::cout << "error: fail to load, " << argv[1] << " n"; return 0; 数 列 ファイルを 読 み 込 んで 数 列 の 要 素 数 (num)と 数 列 の 要 素 を 格 納 した doubleの 配 列 (arr)を 生 成 if(1 > num){ std::cout << "error: the number of elements is 0 n"; return 0; std::cout << "num: " << num << " n"; std::cout << "average: " << calc_average(num, arr) << " n"; double calc_average(int num, const double* arr){ assert(num > 0); double sum = 0; for(int i = 0; i < num; ++i){ sum += arr[i]; return sum / num; delete [] arr; return 0; 数 列 の 要 素 数 (num)と 数 列 の 要 素 を 格 納 した doubleの 配 列 (arr)から 平 均 値 を 計 算 23

使 い 方 簡 単 なプログラム 作 成 コーディング 使 い 方 #include <iostream> #include <fstream> #include <string> #include <cassert> 引 数 の 数 をチェック & エラー 処 理 bool load(const std::string& filepath, int& num, double*& arr){ std::ifstream in(filepath.c_str()); if(!in){ 数 return 列 ファイルの false; 読 み 込 み in >> num; if(0 < num){ arr = new double[num]; for(int i = 0; i < num; ++i){ in >> arr[i]; in.close(); 結 return 果 表 true; 示 数 列 要 素 数 が0 以 下 はエラー 終 了 int main(int argc, char* argv[]){ if(2 > argc){ std::cout << "error: invaid argument n"; return 0; int num = 0; double* arr = 0; if(!load(argv[1], num, arr)){ std::cout << "error: fail to load, " << argv[1] << " n"; return 0; if(1 > num){ std::cout << "error: the number of elements is 0 n"; return 0; std::cout << "num: " << num << " n"; std::cout << "average: " << calc_average(num, arr) << " n"; double calc_average(int num, const double* arr){ 終 了 処 理 assert(num > 0); double sum = 0; for(int i = 0; i < num; ++i){ sum += arr[i]; return sum / num; delete [] arr; return 0; 24

使 い 方 Eclipseを 使 った 簡 単 なソフトウェア 開 発 の 流 れ 使 い 方 プロジェクト 作 成 ソースコードファイル 作 成 コーディング デバッグビルド アプリケーション 開 発 を 構 成 する 設 定 作 成 アプリケーションを 構 成 するファイルを 作 成 ソースコードファイルにプログラムを 書 く 実 行 途 中 結 果 を 確 認 できる 形 式 にビルド デバッグ リリースビルド 実 行 途 中 の 結 果 を 確 認 しながらテスト 本 番 用 にビルド (デバッグ 情 報 なしでビルド)(*) 25

簡単なプログラム作成 デバッグビルド 1. Build Configurations を Debug に設定 方法1 ツールバーのハンマーマーク横の を押下 方法2 メニュー Project Build Configurations Set Active 2. ビルド 方法1 ツールバーのハンマーマークを押下 方法2 メニュー Project Build All 26

簡単なプログラム作成 デバッグビルド 3. ビルド完了待ち Build Project ダイアログ もしくは Progress ウィンドウ のプログレスバーが 100%になるまで待つ Progress ウィンドウの表示が No operations to display at this time となったらビルド完了 4. ビルドエラー 警告確認 ソースコード修正 Problems ウィンドウに エラー項目がなくなったら デバッグ準備完了 (*) Progress Problems ウィンドウは メニュー Window Show View で表示 エラー項目がある場合 ソースコードを修正して 再ビルド

使 い 方 Eclipseを 使 った 簡 単 なソフトウェア 開 発 の 流 れ プロジェクト 作 成 使 い 方 ソースコードファイル 作 成 コーディング デバッグ 準 備 コマンドライン 引 数 など 設 定 決 めてしまえば 毎 回 実 施 する 必 要 なし デバッグビルド ブレークポイント 設 定 実 行 時 の 確 認 箇 所 の 指 定 デバッグ デバッグ 開 始 デバッグスタート プレー 九 ポイントで 一 時 停 止 リリースビルド ステップ オーバー / イントゥ / リターン プログラム 内 の 命 令 を 一 つずつ 確 認 変 数 内 容 確 認 プログラム 実 行 時 の 変 数 の 値 を 確 認 デバッグ 終 了 最 後 まで 実 行 完 了 or 強 制 終 了 28

簡単なプログラム作成 デバッグ 1. デバッグ準備 入力ファイルの作成 1. Project Explorer の calc_average を右クリック 2. New File New File ウィザードダイアログ起動 3. File name にファイル名を入力して Finish 4. Project Explorer の calc_average 以下にに新しいファイル が作成される New File ウィザードダイアログ ここでは input.dat を入力 Project Explorer calc_average 以下に input.dat が 作成された事がわかる

簡単なプログラム作成 デバッグ 1. デバッグ準備 入力ファイルの編集 5. Project Explorer の input.dat をダブルクリック エディタにinput.datのファイル内容が表示 6. エディタを利用して編集 エディタで input.dat の編集 ここでは15ページの例に従って作成 30

簡単なプログラム作成 デバッグ 1. デバッグ準備 デバッグ時のコマンドライン引数の設定 7. Project Explorer の calc_average を右クリック 8. Properties でcalc_averageの設定ダイアログ起動 9. Run/Debug Settings でcalc_averageを選択し edit 10. Arrguments タブの Program arguments に inputs.dat calc_averageの設定ダイアログ input.dat を入力 コマンドライン引数を設定

使 い 方 簡 単 なプログラム 作 成 デバッグ ワークスペース 内 のディレクトリ ファイル 構 成 の 確 認 使 い 方 ワークスペース ディレクトリ プロジェクト ディレクトリ calc_average ソースコードファイル main.cpp Input.dat Debug 入 力 の 数 列 ファイル コマンドライン 引 数 の 設 定 により この 場 所 である 必 要 がある デバッグビルド 出 力 ファイル 群 リリースビルドを 実 行 すると Release ディレクトリが 作 成 され そこにビルド 出 力 ファイルが 置 かれる 32

簡単なプログラム作成 デバッグ 2. ブレークポイント設定 デバッグ開始すると自動的にブレークポイントで停止 続行 続行 ブレークポイント エディタ左側をダブルクリックで ブレークポイント作成 / 削除 一時停止状態を解除するには ツールバー 続行 ボタン or メニュー Run Resume Debugパースペクティブ 33

簡単なプログラム作成 デバッグ 3. デバッグ開始 方法1 ツールバーの虫マークを押下 方法2 メニュー Run Debug Debugパースペクティブに 切り替わる警告が表示 とりあえずYes

簡単なプログラム作成 デバッグ 4. ステップ オーバー /イントゥ/ リターン プログラム内の命令を一つずつ確認 ブレークポイントにより一時停止中に利用するデバッグ機能 ステップオーバー 一時停止中の命令を一つ進める 命令が関数の場合 関数内に入らず 再度一時停止 ステップイントゥ 一時停止中の命令を一つ進める 命令が関数の場合 関数内に入り 再度一時停止 ステップリターン 一時停止している関数を実行完了したところで 再度一時停止 35

簡単なプログラム作成 デバッグ 4. ステップ オーバー / イントゥ/ リターン ステップオーバーの確認 main関数内の関数load命令にブレークポイントを設定しデバッグ (最初からデバッグ) ブレークポイント ①関数load実行前で一時停止 ②ステップオーバー実行 ③main関数内の次の命令へ制御移動 関数loadがtrueを返却した場合 36 main関数内で一時停止

簡単なプログラム作成 デバッグ 4. ステップ オーバー / イントゥ/ リターン ステップイントゥの確認 main関数内の関数load命令にブレークポイントを設定しデバッグ (最初からデバッグ) ブレークポイント ①関数load実行前で一時停止 ②ステップイントゥ実行 ③関数load内へ制御移動 関数load内で一時停止 37

簡単なプログラム作成 デバッグ 4. ステップ オーバー / イントゥ/ リターン ステップリターンの確認 前ページの③の状態からデバッグ (関数load内で一時停止状態 関数loadが実行され Main関数に戻ってくる ①関数load内で一時停止 ②ステップリターン実行 ③呼び出し元であるmain関数 へ制御移動 main関数で一時停止 38

簡単なプログラム作成 デバッグ 4. ステップ オーバー / イントゥ/ リターン 実行方法 方法1 Debug ウィンドウ スタックトレース のボタン ステップ イントゥ ステップ オーバー ステップ リターン 方法2 メニュー Run Step Over Step Into Step Return 39

使 い 方 簡 単 なプログラム 作 成 デバッグ 使 い 方 5. 変 数 内 容 確 認 Variables ウィンドウ: 一 時 停 止 中 時 に 利 用 されている 変 数 を 自 動 判 別 値 表 示 ローカル 変 数 などの 確 認 に 有 効 Expressions ウィンドウ: 自 分 で 値 を 確 認 したい 変 数 を 指 定 できる グローバル 変 数 の 値 の 確 認 メンバ 関 数 実 行 時 の 同 じクラス 内 のメンバ 変 数 の 値 の 確 認 に 有 効 40

簡単なプログラム作成 デバッグ 6. デバッグ終了方法 方法1 最後まで実行 ツールバーの続行ボタン押下 メニュー Run Resume 方法2 途中で強制終了 ツールバーの終了ボタン押下 メニュー Run Terminate 続行 続行 強制 終了 強制 終了 41

使 い 方 Eclipseを 使 った 簡 単 なソフトウェア 開 発 の 流 れ 使 い 方 プロジェクト 作 成 ソースコードファイル 作 成 コーディング デバッグビルド アプリケーション 開 発 を 構 成 する 設 定 作 成 アプリケーションを 構 成 するファイルを 作 成 ソースコードファイルにプログラムを 書 く 実 行 途 中 結 果 を 確 認 できる 形 式 にビルド デバッグ リリースビルド 実 行 途 中 の 結 果 を 確 認 しながらテスト 本 番 用 にビルド (デバッグ 情 報 なしでビルド)(*) 42

簡単なプログラム作成 リリースビルド 1. Build Configurations を Release に設定 方法1 ツールバーのハンマーマーク横の を押下 Releaseに設定 方法2 メニュー Project Build Configurations Set Active Releaseに設定 2. 以降 デバッグビルドと同様 43

前 回 の 例 をEclipseで 実 施 使 い 方 1. 準 備 2. Eclipse 設 定 ビルド 3. デバッグ 準 備 4. 実 行 設 定 5. 実 行 (*) カスタマイズ 用 ベースソルバーのソースコードの 準 備 ケースファイルの 準 備 は 通 常 と 同 じやり 方 ( 前 回 参 照 ) 44

準 備 1. カスタマイズ 用 ベースソルバー ソースコード 準 備 1. ベースソルバーのコピー 使 い 方 45

準 備 1. カスタマイズ 用 ベースソルバー ソースコード 準 備 2. ディレクトリ ファイル 名 変 更 使 い 方 46

準 備 2. デバッグビルド / リリースビルド 設 定 $WM_PROJECT_DIR/etc/bashrcの 変 更 が 必 要 使 い 方 79 行 目 あたり WM_COMPILE_OPTIONの 値 を Optにするとリリースビルド Debugにするとデバッグビルド がwmake 時 に 実 行 される デバッグ / リリースビルドの 切 替 時 の 注 意 : bashrcの 修 正 保 存 後 にEclipseを 再 起 動 すること(* 起 動 方 法 については 後 述 ) wmake 前 にwcleanを 実 行 する 事 (* 実 行 方 法 については 後 述 ) 47

準備 2. Eclipse起動 Terminalから起動 1. Dash Home で terminal で検索し Terminal 起動 (*) (*) デバッグ / リリース ビルド切替時は Terminal も再起動の事 Terminalを起動 背景 OpenFOAMの利用に必要な 環境変数の設定がシェル起動時に 設定されるため (**) 2. Eclipseを起動 Terminal上で [インストールパス]/eclipse と入力 これをTerminal上で 起動 (**) 設定についてはリンク参考 http://www.openfoam.org/download/ubuntu.php 48

Eclipse 設 定 ビルド 1. ソースコード 読 み 込 み 1. メニュー File New C++ Project 使 い 方 2. C++ Project ウィザードダイアログ ここではProject nameを myicofoam に Localtionを 準 備 したソルバーソースコードのディレクトリを 指 定 Project Explorer 準 備 したソースコードが プロジェクトとしてロード 49

Eclipse 設 定 ビルド 使 い 方 2. wmake / wclean 設 定 1. 画 面 右 の Make Targets を 操 作 してwmakeをwcleanの 設 定 を 作 成 ダイアログ 起 動 New Make Target で 設 定 を 作 成 (*) wcleanも 同 様 に 設 定 50

Eclipse 設 定 ビルド 使 い 方 2. wmake / wclean 設 定 2. Makefileがおいてある 位 置 を 指 定 1. Project Explorer の myicofoam を 右 クリック 2. Properties をクリック 3. myicofoam のプロジェクト 設 定 ダイアログが 起 動 C/C++ Build を 選 択 準 備 したソルバー ソースコードのディ レクトリを 指 定

Eclipse 設 定 ビルド 3. ビルド Make Targets ウィンドウのwmake, wcleanをダブルクリック 使 い 方 (*) デバッグ / リリースビルドの 設 定 は $WM_PROJECT_DIR/etc/bashrcのみに 依 存 (**) デバッグビルド(+ 実 行 )には デバッグビルドされたライブラリが 必 要 ビルド 時 はwmake クリーン 時 はwclean をダブルクリック 52

デバッグ 準 備 1. ケースファイルの 設 定 1. メニュー File New C++ Project 使 い 方 (*) blockmeshは 予 め 実 行 しておく 必 要 あり Project Explorer ケースファイル 群 が プロジェクトとしてロード 2. C++ Project ウィザードダイアログ ここではProject nameを mycavitty に Localtionを 準 備 した 編 集 したケースファイルのディレクトリを 指 定 53

デバッグ 準 備 使 い 方 1. ケースファイルの 設 定 2. Makefileがおいてある 位 置 を 指 定 1. Project Explorer の mycavity を 右 クリック 2. Properties をクリック 3. mycavity のプロジェクト 設 定 ダイアログが 起 動 C/C++ Build を 選 択 準 備 したケースファ イルのディレクトリ を 指 定 54

実行設定 ケースファイルプロジェクトの設定変更 1. 実行の設定 1. Project Explorer の mycavity を右クリック 2. Debug As Debug Configuration をクリック (*) デバッグビルドされた実行形式は $WM_PROJECT_USER_DIR/ platforms/linux64gccdpdebug リリースビルドされた実行形式は $WM_PROJECT_USER_DIR/ platforms/linux64gccdpopt デバッグ / リリース実行の度に 設定変更が必要 ビルドされた 実行形式を指定(*) 55

実 行 実 行 : 方 法 1:ツールバーのボタン 使 い 方 デバッグ デバッグなし 実 行 方 法 2:メニュー Run Debug or Run 実 行 時 エラーダイアログ: ケースファイルプロジェクトにソースコードがないためビルドエラーが 発 生 無 視 して 実 行 ( Yes を 押 下 ) 実 行 時 結 果 : Eclipseの Console ダイアログに 表 示 56

まとめ Eclipseを 利 用 したを 実 施 デバッグ / リリースの 切 替 が 非 常 に 面 倒 環 境 変 数 の 書 き 換 え 読 み 直 しが 必 要 ユニットテストはデバッグビルドで システムテストでのデバッグはリリースビルドで 実 施 で 割 り 切 るなら 質 問 デバッグ / リリース 切 替 の 簡 単 なやり 方 ないですか? OpenFOAMのデバッグライブラリは 自 分 で 作 成 するしかない? 57

Appendix 58

確認 ①ケースファイルの作成 (1) サンプル 変更内容の検討 カスタマイズ前準備 ソースコード編集 実行フォルダ $FOAM_TUTORIALS $FOAM_RUN incompressible Cavity mycavity icofoam すべてコピー 確認 cavity サンプルケースファイルから作成 59

確 認 1ケースファイルの 作 成 (2) 変 更 内 容 の 検 討 $FOAM_RUN U 速 度 場 カスタマイズ 前 準 備 mycavity 圧 力 場 P ソースコード 編 集 確 認 0 T スカラー 場 コピーして 流 用 新 規 作 成 system サンプルケースファイルから 作 成 60

確認 ①ケースファイルの作成 (3) 新規ファイル追加 pからコピー T 変更内容の検討 カスタマイズ前準備 ソースコード編集 確認 dimensions [0 0 0 0 0 0 0]; internalfield uniform 0; boundaryfield { movingwall { type fixedvalue; value uniform 1; fixedwalls { type fixedvalue; value uniform 0; frontandback { type empty; 既存ファイル変更 system/fvschemes divschemes { default none; div(phi,u) Gauss linear; div(phi,t) Gauss linear; laplacianschemes { default none; laplacian(nu,u) Gauss linear corrected; laplacian((1 A(U)),p) Gauss linear corrected; laplacian(nu,t) Gauss linear corrected; 圧力場と同じ設定 61

確認 ①ケースファイルの作成 (4) 既存ファイル変更 system/fvsolution 変更内容の検討 カスタマイズ前準備 ソースコード編集 solvers { P { U { T { 確認 solver PBiCG; prconditioner DILU; tolerance 1e-05; reltol 0; 圧力場と同じ設定 62

参 考 文 献 OpenFOAM on Eclipse, OpenCAE Gifu 第 12 回 勉 強 会 http://opencae.gifunct.ac.jp/pukiwiki/index.php?%c2%e8%a3%b1%a3%b2%b2%f3%ca%d9%b6%af %B2%F1%A1%A7H240310 Eclipse 上 でOpenFOAMを 使 う 方 法 http://mogura7.zenno.info/~et/xoops/modules/wordpress/index.php?p=443 HowTo Use OpenFOAM with Eclipse http://openfoamwiki.net/index.php/howto_use_openfoam_with_eclipse 63