読者です 読者をやめる 読者になる 読者になる

ローグウェーブソフトウェアのブログ

開発をシンプルに 安全で高品質のコードを 素早くお客様のもとへ

TotalViewについての動画一覧 (2) メモリデバッグ、リバースデバッグ、C++、...

TotalView 製品とサービス

前回に引き続きTotalViewの動画を紹介します。

ローグウェーブ本社ウェブサイトにある動画の一覧

メモリデバッグ

次はメモリデバッガMemoryScapeに関する2本です。

RedZoneは、TotalView付属のメモリデバッガ MemoryScapeの機能で、プログラム上で領域外アクセスなど不正な書き込みがあった時に直ちにプログラムを止めて警告を発します。

メモリに関するバグは一般に通常コードの原因箇所と問題が発生する箇所が離れており、またタイミングも再現性が低いため特定するのはひどく骨が折れます。

MemoryScapeの説明 (日本語) (英語)

www.slideshare.net

C++ STL Type Transformations

C++の標準テンプレートライブラリ STL は便利なものですが、vectorやlistなどのデータ構造はそのままデバッガで見ると非常に複雑なテンプレートの展開で表現され、データの意味が直観的に分かりづらくなります。 それをわかりやすくしたのがこの機能で、vectorやlistが単なる配列のようにシンプルに表示されます。他にも独自のデータ構造を希望通りにデバッガ上で表示するC++ Viewなど、ソースコード中のデータの可視性を高める機能がTotalViewには備わっています。

8.14からはunordered_map, unordered_setやunordered_multimapなど、 C++11のデータ構造も自動的にわかりやすく表示されるようになりました。 * TotalView の新機能 | ローグウェーブ

ReplayEngineでリバースデバッギング

TotalViewのユニークな機能であるReplayEngineの紹介と基本的なデモです。

プログラム実行状態の記録と再生を行い、再現の難しいバグの特定や、見逃したプログラムの状態変化を確認したいときに非常に役に立ちます。

ケンブリッジ大学のジャッジ・ビジネス・スクールの調査でも、リバースデバッギングが開発の生産性を高めることが確認されています。

8.14リリース

最後に2014年の11月にTotalView 8.14がリリースされたときの簡単な説明です。

Introducing TotalView 8.14 | Rogue Wave

NVIDIA CUDA, OpenACC、Intel Xeon Phiなどヘテロジニアスなシステムへのサポートが拡大し、ReplayEngineのセッション情報が保存可能になりました。また、FlexNETのバージョンが更新されて一部の環境でのバグが解消しました。

8.14の情報は日本版のウェブサイトにも掲載されています。

TotalView 最新情報

こちらは既に8.14.1, 8.15の情報も載っています。

ローグウェーブ セールスエンジニア 柄澤(からさわ)