メモリーエラーの検出
まずは[ツール]-[Parallel Inspector]-[Inspector Memory Errors]を選択してください。
ダイアログが表示されますので、このダイアログで最後までつまみを下げてから[Run Analyze]ボタンをクリックしてください。
クリック後、解析処理が始まりますのでしばらくお待ちください。解析が終了したらメモリエラーのイベントログが表示されるので[Interpret Result]をクリックします。
するとメモリエラーに関するコードが詳細に表示されます。この詳細なレポートを見ればエラー解決の糸口になります。さらに、Overview画面でソースへ直接移動できるので大変効率よくデバッグを行えます。このサンプルプログラムでも問題箇所が分かれば解決は簡単です。
この問題の場合、Problem列にメモリリークが表示されていますのでメモリの確保と解放が正しく行われていない事が分かります。その事からfree
のプログラムが足りない事が分かりますし、文字の表示がおかしいという論理エラーも移動先のコードをよく読めば 文字数にNull文字の分が考慮されていない(1文字少ない)ことが原因だと直ぐに分かります。