並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」
Parallel Inspectorによるメモリエラーとスレッド化エラーの検知
ダウンロード サンプルファイル(エラーあり) (3.2 KB)
ダウンロード サンプルファイル(修正例) (3.3 KB)
メモリーエラーの検出
まずは[ツール]-[Parallel Inspector]-[Inspector Memory Errors]を選択してください。

ダイアログが表示されますので、このダイアログで最後までつまみを下げてから[Run Analyze]ボタンをクリックしてください。

クリック後、解析処理が始まりますのでしばらくお待ちください。解析が終了したらメモリエラーのイベントログが表示されるので[Interpret Result]をクリックします。

するとメモリエラーに関するコードが詳細に表示されます。この詳細なレポートを見ればエラー解決の糸口になります。さらに、Overview画面でソースへ直接移動できるので大変効率よくデバッグを行えます。このサンプルプログラムでも問題箇所が分かれば解決は簡単です。
この問題の場合、Problem列にメモリリークが表示されていますのでメモリの確保と解放が正しく行われていない事が分かります。その事からfreeのプログラムが足りない事が分かりますし、文字の表示がおかしいという論理エラーも移動先のコードをよく読めば 文字数にNull文字の分が考慮されていない(1文字少ない)ことが原因だと直ぐに分かります。
- 修正履歴
-
- 2009/09/23 06:59 コメント欄にてのご指摘により不備が見つかりましたので、メモリエラーの修正に関する事柄を修正しました。
- 2009/09/14 20:28 コメント欄にて関数名が間違っているとのご指摘を受けましたのでProducerに訂正しました。
この記事は参考になりましたか?
- インテルソフトウェア開発製品による並列化プログラミング連載記事一覧
-
- マルチコア時代の定番チューニングツール 「インテルParallel Studio 2011...
- 正しい分析でムダなくチューニング アプリの並列化を支援する「インテル Parallel A...
- 並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」
- この記事の著者
-
インドリ(インドリ)
分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア


![[Overview]をクリックすると表示される、メモリーエラーのOverview画面](http://cz-cdn.shoeisha.jp/static/images/article/4372/fig05_s.gif)