CodeRecorder CR-200(コードレコーダー)

無償評価貸出中!
動的テストツール CodeRecorder CR-200

デバッガとは異なる視点でバグを発見する動的テストツール(動的解析ツール)!


今、動いているプログラムは「偶然」動いているように見えるだけかもしれません。プログラムの本当の動きは人間のイメージを越えていることがあり、デバッガを使用していても気づかないことがあります。CodeRecorderはプログラムの本当の動きを見える化することで、デバッガでは手に負えないような難しいバグを発見することができます。

製品リリース間近になって、マレにしか発生しない不具合に遭遇し、原因を特定するのに試行錯誤しながら時間だけが大幅に過ぎていくような経験ありませんか?
CodeRecorderを使えば、再現性の難しいバグも簡単に発見でき、より品質の高い製品開発が行えます。

CodeRecorderとは

CodeRecorder(コードレコーダー)は、ターゲット・プログラムの実行を記録、解析して、
  1. プログラムの見える化(デバッグ)
  2. カバレッジ・テスト(品質アップ)
  3. 実行時間計測(パフォーマンスアップ)
などの機能が一台でできる新しい形のツールです。

CodeRecorderの特長

  • 数時間におよぶターゲット・プログラムの実行を記録可能
  • 関数の実行を時系列でグラフ表示し、見える化を実現
  • OSに手を加えることなくタスクやスレッドの見える化も可能
  • カバレッジ機能でテスト漏れを確認可能
  • 関数プロファイラによりプログラムのボトルネックを発見
  • 実行記録からCソースの逆ステップや変数値の変化を再現可能なデバッグ機能を搭載
  • 変数値の変化をグラフ表示し、突出したデータを見える化
  • 動的メモリを監視しメモリリークなどのエラー検出が可能
  • カバレッジや関数実行時間などのレポートを作成可能
  • 各ウィンドウの表示をCSV出力可能
  • カバレッジ・モードでリアルタイムにプログラムの通過を確認
  • 既存ターゲットでもGPIO2本で簡単に接続可能
  • USB3.0接続で高速転送可能

プログラムの見える化からソース・デバッグまで!

関数の見える化でバグを見つける

関数の呼び出しを時系列でグラフ表示します。関数の呼び出し状態と実行時間が一目でわかり、意図しない呼び出しや、実行時間の長い関数を簡単に見つけることができます。 OSに手を加えずにRTOSやLinuxにも対応、システムコールの呼び出し、タスクやスレッドがどのタイミングで実行されているか把握できます。 グラフの拡大縮小が簡単にできるため、記録データ全体を確認することも容易です。また、関数の検索やマークを設定、2点間時間計測など、バグの発見に役立つ機能がそろっています。

> プログラムの見える化でバグを発見ストーリー <

動的メモリの見える化でバグを見つける

動的メモリの使用状況を監視しグラフ表示します。メモリの確保や解放が一目でわかるので、異常なメモリ確保を見つけることが容易になります。また、メモリ・リークや多重解放などの異常ポイントを検出し、そのポイントからソース・デバッグを行うことも可能です。

変数の見える化でバグを見つける

変数の値の変化をグラフ表示します。変数値を見える化することで、バグの原因となりそうな突出した値を確認することができます。値の検索も簡単に行えますので、値が変更されたポイントを表示し、そのポイントからソース・デバッグを行うことも可能です。

見える化ウィンドウから再現デバッグ

見える化のウィンドウで異常個所を見つけた場合、「ここからデバッグ」メニューによってソース・デバッグを行うことが可能です。実行記録のデータで、ステップ実行や逆方向への追跡が可能です。また、変数を記録しておけば変数値を再現しながらデバッグすることもできます。CodeRecorderは見える化だけにとどまらず、ソース・コード・レベルのデバッグまでサポートしています。

カバレッジでテスト漏れを防ぐ!

コードの通過率でテストの進捗を把握する

テストによってソース・コードの何パーセントが通過したかを表示、テストの進捗状況を把握することができます。まだ通過していないコードを見つけ、そのテスト項目を追加することで、品質向上に役立てることができます。カバレッジ率を表示するカバレッジ・ウィンドウはソース単位や関数単位でのC0/C1カバレッジを確認できます。

未通過のソース行を確認可能

カバレッジ・ウィンドウでカバレッジ率が低い関数を見つけた場合、その関数のどこが未通過か、ソース表示で確認できます。グレーで表示されているソース行の条件を確認し、通過させる条件をテスト項目を追加していけば、より強力なテストとなり、品質アップへつながります。

リアルなプログラム通過を確認

実機の動作中にプログラムの通過を確認できる、カバレッジ・モードを用意。ソース表示で通過した行は赤色にマークされますので、現在のテストでは未通過の場合、条件を変えてテストを行うことができます。カバレジ・ウィンドウのC0/C1カバレッジ率もリアルタイムに変化を確認できます。このモードではデータが膨大にならないため、長時間のテストも安心して行えます。

運用面での機能も充実

カバレッジはチームで行いますので、運用していくことが重要になります。報告書作成やCSV出力はもちろん、チームでカバレッジを行うためのマージ機能、除外機能など実作業に必要な機能を用意しています。

パフォーマンス解析で速度を上げる!

関数の実行時間計測でボトルネックを発見

関数ごとの実行時間や呼び出し回数、最大、最小、平均の実行時間を計測し表示します。呼び出している子関数の割り合いを円グラフで表示することや、関数のコールグラフから、ボトルネック関数を見つけることも可能です。また、最大時間、最小時間を記録したポイントをグラフ系のウィンドウに表示させることができ、そのポイントからソースを追跡することも可能です。

改善前と改善後の実行時間を比較

実際にどの関数が何%改善されたかが一目で分かります。改善を行ったつもりで逆に改悪してしまった関数もレポートされますので、プログラム全体でのパフォーマンスアップ状況を把握できます。

任意の2点間を計測

任意の2点間の実行時間を計測し、時間の分布を詳細に表示可能です。特定のルーチンの時間のばらつきを見ることで、実行時間に問題がないか確認できます。

その他の特長

テスト・コードの自動埋め込み

計測用のテスト・コードはソース・ファイルを解析して自動的に埋め込みます。テスト・コードを埋め込んで影響が出る場合は、関数単位で外すことができます。(Cコンパイラ:C89/C99/C++11に対応)

ターゲット接続が簡単

接続は高速データ通信のメモリ・バスと、最少2ピンで接続できるGPIOを選択可能です。GPIOのデータは1/2/4本から選択します。

接続信号の波形表示

接続時にオシロスコープを使用することなく信号の様子を確認できます。GPIOの設定等で信号が正しく出ていない場合にすぐに確認できます。

※この機能はCR-200への接続信号のみで、汎用的な信号を測定するものではありません。

オーバーヘッド時間を短縮

従来機に比べ、テストコードのオーバーヘッド時間を大幅に短縮。ターゲットの負荷が軽減されます。

解析待ち時間を短縮

USB3.0でパソコンにリアルタイムにデータをアップすることで、従来の解析待ち時間を半分に短縮します。

CodeRecorderの使い方

CR-200接続図
ターゲット・システムにGPIOまたはメモリ・バスI/Fで専用ハードウェア「CR-200」を接続し、テスト・コードから出力された情報を記録します。テスト・コードはCodeRecorderが必要な場所に自動的に埋め込むため、手作業でソース・コードを変更する必要はありません。
CodeRecorderの使い方

関連資料

対応パソコン

対応OS
HDD
USB
: 日本語 Windows 10/8/7 (64bit /32bit)
: データ取得用に数十GB以上の空きが必要
: USB3.0

無償評価貸出中!

GPIO 2本だけでつながる!CodeRecorder CR-200を無償評価貸出中!

既存のシステムでも、使っていないGPIOが2本あれば、簡単に接続して評価できます。
評価貸し出しも行っていますので、お気軽にお問い合わせください。

詳細については当社営業部までお問い合わせください。

Microsoft Visual C++用動的テストツール

Visual C++で製品開発をされている方へ

Visual C++で開発したプログラムも同様の動的テストがパソコンだけでできます。

Microsoft Visual Studioのアドインソフトで設定は簡単、すぐに動的テストが始められます。

製品版と全く同じ機能が30日間試用できます。


詳しくは、「CodeRecorder VC」をご覧ください。


PDF
PDF形式のデータをご覧になるには、 Adobe Reader®が必要です。 Adobe Reader®は、Adobe Systems Incorporatedの商標または登録商標です。
Adobe Readerのダウンロード・サイト