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

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

TotalView 2017.2リリース - バッチデバッグでReplayEngine利用可能に、PythonとC/C++混合デバッグ強化

並列デバッガTotalView 2017.2の正式版が無事リリースされました

ベータ版案内でお伝えした更新内容

先日2017.2ベータ版についてお知らせしました。 blog.roguewave.jp

そこでも述べられていたように以下の内容が更新されました。

  • Python C/C++混合デバッグが正式サポートされました。コールスタックなどの表示が見やすくなり、使い勝手が向上しました。
  • new UIバージョン(CodeDynamics)のGUIからもEvaluation Pointを作成できるようになりました。
  • CentOSなど一部の環境でのデバッグを妨げていたdwz圧縮のサポートや、2017.1でLinuxに導入されたSplit DWARFのサポートがSolaris SPARCにも対応
  • ARMv8 64での不具合解消

Pythonとの混合デバッグについては新機能ページにBill Burnsによる紹介動画もアップしましたので、以下のホワイトペーパー紹介と併せてご覧ください。

blog.roguewave.jp

ドキュメントページリリースノートサポートプラットフォームも記載されています。今回の更新ではARM64とAbsoft 17のサポートが追加されています。

バッチデバッグでReplayEngineが利用可能に

TotalViewにはtvscriptというバッチデバッグ用のコマンドが同梱されており、アクションポイントやメモリイベントなどをトリガーとして変数の値やコールスタックをテキストファイルにログ出力する強力な機能を使うことができます。リモート環境だったり、ジョブスケジューラを使用する場合のようにGUIの使用に制限がある環境での利用、あるいは再現性の低いバグに悩まされていたり自動テストに動的デバッグを組み込みたいという開発者に広く使われてきました。

今回のリリースでは、TotalViewの強力なリバースデバッグ機能であるReplayEngineがtvscriptで正式にサポートされ、tvscriptのコマンドラインオプションから利用することができるようになりました。トリガーとなるイベントや、リバースデバッグのためのアクションが追加されており、アプリケーションの実行履歴を克明に任意のタイミングでrecordingファイルに保存し、後から自由にレビューできるようになりました。

https://roguewave.jp/getattachment/products-services/TotalView-for-HPC/Features/Reverse-Debugging/replay-engine-image.png?width=400&height=247

リファレンスガイドのtvscript optionsに tvscript のリバースデバッギングコマンドの例が記載されています。各行の末尾のバックスラッシュは改行後もコマンドが継続することを表します。つまり以下のコマンドは実際にはワンライナーとして記述することも可能です。

tvscript \
-create_actionpoint "main=>enable_reverse_debugging" \
-event_action "stopped_at_end=>save_replay_recording_file" \
filterapp.elf

このコマンドを実行すると、filterapp.elfというターゲットアプリケーションに対し、

  1. main関数の開始地点にアクションポイントを作成し、ReplayEngineをオンにしてプログラムの記録を開始します
  2. stopped_at_endイベントが発生した時、つまりプログラムが終了するとき、実行履歴をrecordingファイルに保存します

これにより、後からこのrecordingファイルを吟味して、実行時に何が起こったのかを詳細に検討することができます。この例ではプログラム終了時にファイルを保存するよう指定していますが、もちろんメモリエラー発生時や特定の関数への到達時など、プログラムの任意の実行時の状態を保存や記録開始のトリガーに指定することができます。

以上のように、便利な機能が多数追加されていますので、既存のお客様はバージョンアップリクエストから、またまだTotalViewを触ったことのない方はトライアルリクエストより、お気軽にご連絡ください。

blog.roguewave.jp

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