マルチスレッドのデバッグ作業

マルチスレッドアプリケーションのデバッグでは開発上の新しい課題が数多く持ち上がります。たとえば、プログラムの正確性および最適化を維持しながら、開発者は並列化戦略を実装し、同時実行、同期、メモリ帯域といったこれまでにない性能上の課題を克服しなければなりません。助け無しでこのような新しいタスクをすべて管理するのは、人智を超えています。

状況によっては、無料のコマンドラインデバッガや printf などのトラブルシューティング手法が役立つこともありますが、より複雑なマルチスレッドアプリケーションの開発を進めるにつれ、役に立った方法も使えなくなる日が来ます。ここでは、TotalView が提供する機能を一般的なデバッガと比較して紹介します。

機能 高度なデバッガ 一般的なデバッガ
ブレークポイント、ソース表示
コマンドラインインターフェース
密接に統合された GUI
メモリデバッグ
リバースデバッグ
プロセス内のスレッドを完全管理
一度に複数のプロセスをデバッグ
配列データのグラフィカル表示
大量にテンプレートが使用された C++ コードのデバッグ
複雑なデータ構造も容易に可視化

新しいマルチスレッドアプリケーションの開発途中で発生したエラーの診断や修正、既存のアプリケーションをマルチコアシステムで実行させるための移行などにおいては、最高の開発者にとっても強力なソフトウェア開発ツールの存在が不可欠です。こうしたツールを利用することで、開発者がエラーのない、可能な限り高速に動作するアプリケーションを開発し、マルチコアハードウェアの持つ新しいパフォーマンス機能を利用することができるようになります。

 
「TotalView を使うことで、ツールがなければ非常に困難であったであろう、マルチスレッドといった複雑な機能を素早く追加することができ、開発サイクルを大幅に減少させることができました。以前なら開発して完全にテストするまでに 2 週間以上かかっていたことが、今では 1 週間以内で完了します。」
Kirill Minkovich 博士,
HRL
Research Staff Member
 

マルチスレッドアプリケーションをデバッグするための適切なツールをお持ちですか? マルチコアやメニーコアシステムへ移行するにつれ、今後ますます開発者の前に、繊細かつ広範囲にわたる困難な課題が立ちはだかるようになります。高度なデバッガがあれば、最高に効率よく、アプリケーションを正確かつ迅速に移行することができるようになります。ホワイトペーパー「マルチコアへの移行」をダウンロードしてアプリケーションを円滑かつ正確にマルチコアシステムへ移行させる方法をご覧ください。

ご興味のあるお客様 は、TotalView のデモをリクエストして下さい。開発上の課題への対応が、使用するデバッガの種類によってどれほど影響を受けるかご理解いただけると思います。