SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

インテルソフトウェア開発製品による並列化プログラミング(AD)

並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」

Parallel Inspectorによるメモリエラーとスレッド化エラーの検知

  • X ポスト
  • このエントリーをはてなブックマークに追加

メモリーエラーの検出

 まずは[ツール]-[Parallel Inspector]-[Inspector Memory Errors]を選択してください。

メニューの選択
メニューの選択

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

つまみを一番下まで下げ、すべてのメモリエラーを検出
つまみを一番下まで下げ、すべてのメモリエラーを検出

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

メモリーエラーのイベントログ
メモリーエラーのイベントログ

 するとメモリエラーに関するコードが詳細に表示されます。この詳細なレポートを見ればエラー解決の糸口になります。さらに、Overview画面でソースへ直接移動できるので大変効率よくデバッグを行えます。このサンプルプログラムでも問題箇所が分かれば解決は簡単です。

この問題の場合、Problem列にメモリリークが表示されていますのでメモリの確保と解放が正しく行われていない事が分かります。その事からfreeのプログラムが足りない事が分かりますし、文字の表示がおかしいという論理エラーも移動先のコードをよく読めば 文字数にNull文字の分が考慮されていない(1文字少ない)ことが原因だと直ぐに分かります。

メモリーエラーの詳細画面
メモリーエラーの詳細画面
[Overview]をクリックすると表示される、メモリーエラーのOverview画面
[Overview]をクリックすると表示される、メモリーエラーのOverview画面

次のページ
まとめ

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
インテルソフトウェア開発製品による並列化プログラミング連載記事一覧

もっと読む

この記事の著者

インドリ(インドリ)

分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4372 2010/04/27 12:05

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング