オープンソースの要求管理ツール(OSRMT)のインストールとクライアント起動

目的 要求管理において、ExcelやWordで管理することに疑問を感じ、調べたところOSRMTがあることがわかった。 それを利用できるようにし、評価してみることにした。 (本記事は、評価までしていない。) 環境 OS:windows7 SP1 JDK:1.7 update 45 OSRMT:1.5 …

リスナー「応答をファイルへ保存」が応答ファイルを保存する場所

目的 JMeterでSQLの応答結果をファイルで保存しようと、簡単なサンプルを作り、リスナーの「応答をファイルへ保存」を設定したのはいいものの、一体どこに保存されるのか、どこで設定するのかわからず、Webを探しても情報がなかったので、ここに記す。 どこ…

日本語が含まれているCSVファイルをSJISで読み込み、表示する

目的 CSVファイルを読み込み、データを加工しようとしたとき、まずは簡単に読み込んで表示するだけのシェルを作ったら、文字化けして表示された。それを回避するためのメモとして以下に残す。 原因は、PowerShell内部文字コード 読み込むファイル内に日本語…

タスクスケジューラでタスクが実行できない。

目的 業務中にハマったタスクスケジューラの問題を忘備録として、記載する。 タスクスケジューラの問題 タスクスケジューラでスケジュールする対象を実行するとき、フォルダパスもしくはファイル名に【括弧】が付いていると、タスクが実行されない。 例 以下…

sighandler_t とビルドエラー

GCC

はじめに シグナルを使ったプログラムを作成中、以下のようなエラーが出た。簡単に検索できなかったため、忘備録として残す。 main.c:11:39: error: unknown type name 'sighandler_t' エラーの取り方 -D_GNU_SOURCE を付けて、コンパイルする。 $ gcc -o ma…

scons と CFLAGSの指定方法

はじめに SConstructにCFLAGSを指定して、ビルドする方法が、すぐに見つからなかったため、ここに残す。 SConstruct内の定義 Program('daytime.c', CFLAGS='-g -Wall') scons の実行で確認する andre@andre-VirtualBox:~/work/daytime$ scons . scons: Readi…

Erlangの変数スコープについて

はじめに Erlangの変数のスコープについて、erlang.orgの和訳をする。 元は、http://www.erlang.org/course/advanced.html 変数のスコープ Erlangの変数XやYは、始めに束縛される場所から、最後に参照されている場所までである。 以下、ErlangのHPの例から説…

Doxygenを使ったドキュメント生成ではじめにやること。

はじめに Doxygenを使って、ドキュメントを生成するときに、はじめにやることを記載しておく。 概要 設定ファイルを生成する。 設定ファイルを編集する。 ソースファイルにドキュメント付けをする。 doxygenを実行する。 生成されたドキュメントを確認する。…

なぜか、「コマンドが見つからない」とエラーが出た、そのときは。。。

はじめに 本記事は、シェルスクリプトに関する防備録である。 こんなミスをするとは。。。 問題 シェルスクリプト内で、seqコマンドが使えなくなった。 (コマンドが見つからないと言われた。) 原因 シェルスクリプト内で環境変数PATHを編集していた。 解決…

Makefile.amでのソースファイル指定時の注意点

概要 Makefile.am(Autotools)を使って、バイナリを生成する場合、1文字違いで想定と違う動きをする。 Makefile.amでのソースファイル指定 Makefile.amには、生成バイナリ名とそれを構成するソースファイルを以下のように指定する。 bin_PROGRAMS=bin_name b…

自作の関数に対して、簡易コールグラフを出力する。

はじめに 本記事は、自作の関数(システムコールや、ライブラリ関数ではない)を呼び出した際に、その関数名を出力できないか調べてみた結果を記載したものである。 今回作成したものは、こちらから。 結論 GCCにおけるオプションの一つに「-finstrument-fun…

Flawfinderを試す。〜セキュアコーディングを目指して〜

はじめに コーディング中に、バッファオーバフローをどうやって未然に防ぐか。 Flawfinderというツールがあるとわかったので、試してみた。 インストール sudo apt-get install flawfinder サンプルソース 本家にあるサンプルソースに対し、ツールを実行して…

Helgrindのサンプルを試す

はじめに マルチスレッドでプログラムを動かすことが多くある。性能向上のために。Helgrindは、マルチスレッドでのバグを発見するために使用するツールである。今回は、このツールを動かす。簡単なサンプルを使用して。今回使用したサンプルはこちら。なお、…

FlawFinderを試す。〜セキュアコーディングを目指して〜

はじめに コーディング中に、バッファオーバフローをどうやって未然に防ぐか。 Flawfinderというツールがあるとわかったので、試してみた。 インストール sudo apt-get install flawfinder サンプルソース 本家にあるサンプルソースに対し、ツールを実行して…

Electric Fenceを試す。

はじめに メモリ系のバグには、問題点を発見するまでに苦労する。早期発見にツールを活用できればと思い、Electric Fenceを試してみた。 今回のサンプルはこちら 問題のあるソース 下記ソースは、サイズが2である配列を動的に確保し、存在しない3つ目の配…

pthread_cancelを試す。

はじめに メインスレッドから生成したスレッドを途中で終了させるにはどうするのかを調査中、pthread_killが使えることがわかったが、 【POS44-C. シグナルを使用してスレッドを終了しない】 では、pthread_cancelを使用せよとあった。使ったことがないので…

安全ではないマクロ関数

はじめに 安全なコーディング(セキュアコーディング)の勉強中である。 セキュアコーディングのサイトを見つけたので、勉強中に試したものを記事として残す。 記事概要 マクロ関数は、安全ではない1例が記載されていた(PRE31-C)ので、試してみた。 安全…

マクロ展開の注意点を試す。

はじめに 本記事は、マクロについての注意点を実際に試したことをまとめたものである。 概要 下記のページに書かれているマクロについての違反コードと適合コードを試してみた。 PRE05-C 違反コード マクロで展開された結果が"4"(数字の4の文字列)の想定が…

LD_PRELOAD を試したら、Segv した。

はじめに 本記事は、Binary Hackの第3章#22に出てくる【LD_PRELOAD】を簡単に試した結果、Segvしたので、その原因追求について、記述したものである。 作成したソースはGithubに置いておく。 https://github.com/tomohikoseven/LD_PRELOAD LD_PRELOADとは …

CUnit を試す。

はじめに 本記事は、CUnitの入門してみた結果をまとめてみたものである。 使用したソース等は、https://github.com/tomohikoseven/cunit_sample テスト環境概要 CUnitのテスト環境は、下記のような階層的な構造になっている。 テスト・レジストリ |- テスト…

実行可能形式そのものに共有ライブラリパスを指定させる

はじめに 共有ライブラリの場所は、LD_LIBLARY_PATHだけだと思っていたが、実行可能形式そのものに指定することもできると知った。それを試した。 今回試すために使ったファイル群を下記に置く。 https://github.com/tomohikoseven/rpath 実行可能形式に指定…

GDB でのコマンド実行を自動化する。

はじめに 本記事は、GDBのコマンドを自動化するやり方を説明するものである。 本記事で使用したファイルは下記に置く。 https://github.com/tomohikoseven/autorun 自動化の方法 3つのやり方がある。 .gdbinit に記述する。 -x オプションで指定したファイ…

rpmパッケージを1から作る(最後はdpkgでインストール編)

はじめに 本記事は、rpmパッケージを1から作り、実際にシステムへインストールしてみたものをまとめたものである。(※インストール時にlibc.so.6 が必要だとエラーが出て、alienコマンドでdebパッケージに変換して、インストールした。) 今回作成したもの…

automakeを突っ込んで勉強してみる(その1 〜 全体像 〜)

はじめに autoreconfでhello worldを試してみて、もう少し突っ込んでいこうと思い、少し複雑にしたバージョンを試した。 その結果を記す。 全体でやりたいこと 複数のディレクトリを利用し、機能単位に分ける。 ソース、インクルードファイルおよび生成物は…

automakeを突っ込んで勉強してみる(その5 〜 ビルドおよび実行 〜)

はじめに automakeを突っ込んで勉強してみる(その4 〜 メイン機能 〜) - tomohikosevenの日記 の続きである。 目標 全体のビルド トップディレクトリとファイル ディレクトリ構造は以下のとおり test2 ★ トップディレクトリ +- Makefile.am ★ Makefile +-…

automakeを突っ込んで勉強してみる(その4 〜 メイン機能 〜)

はじめに automakeを突っ込んで勉強してみる(その3 〜 サブ機能 〜) - tomohikosevenの日記 からの続きである。 目標 メイン機能でやりたいことは以下の2点である。 動的ライブラリのリンク 静的ライブラリのリンク メイン機能の全体像とファイル メイン…

automakeを突っ込んで勉強してみる(その3 〜 サブ機能 〜)

はじめに automakeを突っ込んで勉強してみる(その2 〜 共通機能 〜) - tomohikosevenの日記 からの続きである。 目標 サブ機能でやりたいことは以下の2点である。 動的ライブラリの生成 ライブラリのインストール ★ 相対パスではダメ(下記Makefile.amの…

automakeを突っ込んで勉強してみる(その2 〜 共通機能 〜)

はじめに automakeを突っ込んで勉強してみる(その1 〜 全体像 〜) - tomohikosevenの日記 からの続きである。 目標 共通機能でやりたいことは以下の2点である。 静的ライブラリの生成 ライブラリのインストール ★ ここのやり方を見つけるのに時間がかか…

OpenMP 並列化

はじめに GCCのオプションで、並列コンパイルのオプションがないものかと調べていたら、実行の並列化オプションがあった。 それを試してみようと思い、その結果を残す。参考サイト OpenMPの使い方:tech.ckme.co.jpソース等一式 https://github.com/tomohiko…

ツール autoreconf を試す。

はじめに Makefileの直接編集によるビルドが、ちょっと手間かかると思った。 そこで、いろいろなツールを試してみようとしている。 以下 autoreconf で hello world を実行させるまでの手順を示す。ソース等一式置いてある。 https://github.com/tomohikosev…