(株)コンピューテックスのトップページへ
メールサービス登録 サイトマップ サイト内検索 English site
     
 

 

 
 HOME > 製品情報一覧 > JTAG Solution > PALMiCE2H
 
A4用紙プリントページはこちら
 
PALMiCE2H 大規模なプログラムのバグを短時間に見つけ出すトレースバック機能とCPUトレース・ウィンドウを搭載。

CSIDE標準搭載UBS2.0インターフェース高速ダウンロードCPUトレースマルチコア対応
CPUブレークソフトウェアブレークフラッシュメモリ対応オンラインサービス
トレース・バックRTOS対応Linux対応オプションのエミュレーションユニット高速ダウンロードプローブ
簡単リプレイ 秒トレース バグ自動検出 マルチコア こだわりの高速化
らくらくアップデート その他の特長 モデル 接続環境 対応CPU

 

トレースされた内容とCソース・プログラムを解析し、バグの原因となるターゲット・プログラムの
不正なメモリ・アクセスを自動検出します。

■バグ検出ボタンで簡単解析
ボタンを押すだけで現在のトレースバックPC位置から逆方向に不正箇所をサーチします。
検出した不正箇所はアウトプットウィンドウに表示され、タグジャンプでトレースバックPCをセットして、その箇所のデバッグが即座に行えます。
■検出可能な不正メモリ・アクセス
●配列オーバー・フロー・アクセス
宣言した配列の要素数を超えたアクセスを検出
配列の要素数を超えた不正なアクセスを検出します。
 
●ポインタ不正アクセス
致命的なエラーとなるポインタアドレスの不正アクセスを検出ポインタ変数が初期化されていない場合や不正なアドレスでのアクセスを検出します。
char buf[3];
int i = 3;
buf[i] = 0;  ← オーバーフローアクセス
 
char buf[3];
char *p = buf;
for (i = 0; i < 4; i++) {
   *p++ = 0; ← 4周目で不正アクセスとなる
}

●標準関数のバッファ・オーバー・アクセス
標準関数の引数で渡したバッファの容量を越える不正なアクセスを検出します。
 
●開放済みヒープ・アクセス
開放されたメモリ領域に対する不正なアクセスを検出します。
char buf[3];
strcpy(buf, “abc”); ←NULL文字のコピーで
             不正アクセスとなる
 
char *p = malloc(10);
*p = 0;
free(p);
*p = 1; ← 開放済みのポインタにアクセス

静的解析ツールでは検出できないバグも自動検出
右の例のようにfunc関数からの戻り値がどのような値であるかは実行結果を元に解析しないとバグを検出することはできません。

CPUトレースで取得した実行内容を解析することで、静的解析ツールでは検出できないバグも自動検出します。


char buf[3];
int i = func(); ← 戻り値が3以上の場合
buf[i] = 0;   ← オーバーフローアクセス

:現在、対応しているコンパイラはGNU Cです。
     C++とオプティマイズには対応していません。

 

前のページへ次のページへ

このページの先頭へ戻ります。
 連絡先:営業部
 TEL:(03)3253-2901
 E-mail:sales@computex.co.jp