CodeDynamics の新機能

CodeDynamics は C や C++で書かれた複雑なアプリケーションを実行時に解析し、バグやメモリ問題、クラッシュ原因などの特定や修正に役立ちます。

CodeDynamics 2018.2

ユーザインターフェイス(UI) の改良

CodeDynamics のユーザインターフェイス(UI)には、アプリケーションのデバッグをさらに容易にするいくつかの優れた拡張機能があります。新しいユーザーインターフェイスに関するフィードバック、追加機能のリクエストや不足機能のレポート、または問題点などがありましたら tv-beta@roguewave.com までお知らせ下さい。

  • PC(Program Counter)の設定
    プログラムカウンタ(PC)を新しい行の位置に設定する機能が追加されました。PCを変更するには、ソースコードの有効な行を選択し、”Thread | Set PC” メニューから選択するか、シンプルに「p」キーを押すだけです。
  • データビュー(Data View)の改善
    プログラムの実行中に変化するデータやデータの収集をよりよく表示するための機能を強化しました。
  • アクションポイント(Action Point)の改善
    CUDAユニファイドブレークポイント(CUDA Unified Breakpoints)の動作、およびCUDAアクションポイントの正確な状態を示すための改善を行いました。
  • マルチプロセスデバッグの改善
    新しいユーザーインターフェイスのさまざまな側面で、操作や表示されたデータにフォーカスしたプロセスの共有グループが使用されます。例えば、フォーカスしている現在の共有グループに関連するソースファイルとアクションポイントのみが表示されます。別の共有グループの別のプロセスにフォーカスが移ると、ソースビューとアクションポイントビューが更新され、関連するファイルとアクションポイントが表示されます。
  • バグフィックスと改善
    多数のバグ修正とマイナーな改善が行われました。

std::string値の表示

CodeDynamicsのバージョン2018.2では、diveをしなくても、std :: stringの結果の文字列の値が表示されるようになりました。 文字列はツールチップ(Tooltip)、VAR ローカル変数ペイン、および文字列値が表示されるはずの場所に表示されるようになりました。

QString タイプの変換

CodeDynamics 2018.2 はQt 4およびQt 5アプリケーションでQ Stringタイプのインスタンスを自動的に変換します。Human-friendly形式で文字データの配置や操作をする必要がなくなりました。

統合されたディスプレイの改善

2018.2のリリースでは、dlopenを利用して共有ライブラリを動的にロードするアプリケーション内にアクションポイントを簡単に設定できるようになりました。この場合、共有ライブラリのコードがロードされるまでブレークポイントの設定に必要な情報はデバッガで使用できません。この問題を解決するため、その行の実行可能コードが識別できるかどうかにかかわらず、ソースビュー内の任意の行にブレークポイントを設定できるようになりました。実行時に共有ライブラリコードがロードされるまで、ブレークポイントはペンディングブレークポイント(pending breakpoint)またはスライドブレークポイント(sliding breakpoint)のいずれかになります。

シングルステッパー「スキップ」ルール(single-stepper “skip” rule)の管理

CodeDynamicsでは、ソースレベルのシングルステッピングの動作を変更するシングルステッパー「スキップ」ルール(single-stepper “skip” rule)を定義する機能が追加されました。このルールは、デバッグに関心のない機能を識別します。スキップルールは、関数をスキップ(skip)または無視(through)するように定義することができます。スキップするケースでは、デバッガは関数にステップインせず先に進みます。これらは、C ++ STLコードなどのライブラリ関数をスキップするのに便利です。 スキップスルー・ルールは、関数のソース行の情報を無視するようにデバッガに指示します。そのため、シングルステップは、関数のソース行でステップ実行が停止しません。 スキップスルーされた関数が別の関数を呼び出す場合、その呼び出しは元のシングルステッピング操作に従って処理されます。 スキップスルーは、コールバックやサンク(thunk)関数などでお使いいただけます。詳細や使用例は、「CodeDynamicsリファレンスガイド」のdskipコマンドのドキュメントをご参照下さい。

その他の詳細は リースノートをご覧下さい。