Linux開発環境

データテクノロジーではコンピューテックス社製組込みLinuxの開発環境を取り扱っております。お気軽にお問い合わせ下さい。

組込みLinuxデバッグ環境 株式会社コンピューテックス

CSIDE  Linuxアプリケーションデバッグライブラリ

従来ICEのデバッグ環境を継承しながらも、組込みLinuxの仮想アドレスの認識ができ、複雑なアドレスの解決を自動的に実行可能。CSIDEにオプションソフト(Linuxアプリケーション・デバッグライブラリ)を追加することにより、1台でカーネル、ローダブル・モジュールからアプリケーションまでを一貫した環境でデバッグすることができます。

■カーネル、ユーザランドの高速ダウンロード

カーネルやユーザランドのイメージファイルは通常数十MBのサイズになります。これらのイメージはフラッシュメモリのようなROM領域に書き込む必要がありますが、開発中のプログラムは頻繁に変更が発生するため、書き込み時間も無視できません。ハードウェアオプションである高速ダウンロード・プローブを使用すれば、大規模なイメージファイルを高速にターゲットへ転送することが可能です。

■ローダブル・モジュール対応

Linuxカーネルによってロードされるデバイスドライバ(ローダブル・モジュール)はデバッガがロードしたアドレスを解決して、先頭関数からデバッグすることができます。

■アプリケーション・デバッグ機能

○実行中のアプリケーションへのアタッチ・デバッグ
○特定のプロセス、またはスレッドに注目してのデバッグをサポート
○XIPアプリケーション、prelinkライブラリのデバッグをサポート
○main関数からのデバッグをサポート
○共有ライブラリのデバッグをサポート
○セグメンテーション・フォルトの発生を監視
○ターゲットへのファイル・コピーをサポート

詳しくは組込みLinuxデバッグ環境 株式会社コンピューテックス

Linuxアプリケーション・デバッグ C-Shark(シー・シャーク)

アプリケーション・デバッガ“C-Shark”は、Linux標準デバッガ“gdb”の弱点を解消し、GUIベースで操作性抜群のWindows環境で使用できる高級言語デバッガ「CSIDE C-Shark」と、Linuxターゲット・システム内で動作する独自のCSIDEデーモン“csided”、“_csidedbg”により、組込み Linuxアプリケーションのデバッグ効率の向上を実現したデバッガです。1つのデバッガの操作で、複数のアプリケーションをリモート操作で起動およびアタッチしてデバッグする事が可能です。また、当社旧製品(CSIDE for Linux)に比べて、CSIDE V5を搭載した大幅な性能向上と使い易いユーザーインターフェースを実現しています。

■C-Sharkの特長
  • EclipseやGDBに比べて、操作性、レスポンスのよい優れたGUIデバッガでデバッグ効率の大幅アップによる開発期間の短縮を実現
  • Linuxカーネル2.6系の全てのディストリビュータに対応
  • メモリ・プロファイルを標準搭載
  • LTTを使用しないで独自解析によるプロセス遷移図の表示を実現
  • 子プロセスのmain()関数からのデバッグを実現
  • CSIDEによるデバッグ情報ファイルの一括管理
  • FTP等のファイル転送プロトコルを必要とせず、CSIDEとターゲット間のファイル転送を実現
  • 初期導入にも安心のサポート・パッケージ(有償LSP)を用意
  • 対応アーキテクチャとしてx86、ARMをサポート。 対応予定として、SuperH、PowerPC、MIPS等
■アプリケーション・デバッグ機能の特長

▽デバッグ・プロセスの簡単切り替え

CSIDE C-Sharkでは、1つのデバッガで複数のプロセスを簡単に切り替えてデバッグすることが可能です。

①アタッチしたプロセス名とプロセス(PID)番号

②アタッチしたプロセス内のスレッド(LWP)番号

③デバッグ情報をロードしたプロセス名

▽プロセス・トレース

プロセス・トレースは専用のドライバ(csidept.ko)を使用して、現在ターゲットで稼動しているプロセスの遷移状況をグラフ化して表示し、また、その情報を元にCPU占有率も表示します。

▽メモリ・プロファイル機能

メモリ・プロファイルは、デバッグ対象プロセスのメモリ使用量表示や、確保開放関数(malloc、free)が呼び出された場所の一覧表示を行います。また、ユーザ・プログラム終了時にこの情報を解析し、メモリ・リークや、同じポインタに対する多重確保、無効な配列への開放の原因となった呼び出しを自動検出し、ダンプ表示も行います。
このウィンドウはglibcの確保、開放関数を対象とします。
対象となるメモリ確保、開放関数は以下の関数です。
・malloc, realloc, calloc, free
・new(mallocとして表示る場合があります), delete(freeとして表示される場合があります)

▽2点間実行時間測定

2点間実行時間測定は、ユーザ・プログラムの2点間を指定して、その間の実行時間を最小、最大、平均時間で計測する機能です。

▽プロセス毎のソフトウェア・ブレーク機能

ブレーク・ポイントはプロセスIDを認識していますので、特定のプロセスでブレークさせることができます。

▽シグナル受信ブレーク機能

セグメンテーションフォルトなど致命的なシグナルが発生するとアプリケーションは終了して、そのプロセスは消滅するため、再現性が低い不具合の場合にはデバッグ追跡するのが困難です。シグナル・トラップ・ブレーク機能は、致命的なシグナルが発生したときにアプリケーションをブレークさせ、問題点がどこにあったかを追跡するのに役立ちます。

▽共有ライブラリ・デバッグ

共有ライブラリはアプリケーションと異なるアドレスに動的にマップされるため、アプリケーションとは違ったアドレス解決が必要になります。この問題をクリアし共有ライブラリの変数参照やプロセスIDを認識したブレークの設定を可能にします。

▽ファイル転送機能

ftpサーバやsambaサーバが実装されていないターゲットにファイルを転送する場合に役立ちます。ファイルの削除やディレクトリの作成も可能です。

詳しくはLinuxアプリケーションデバッッガ:C-Shark 株式会社コンピューテックス

 

このページのトップへ