デバッグ情報の大きなレジデントユニットのロード、シンボルロードに長い時間かかります


質問

デバッグ情報の大きなレジデントユニットのロード、シンボルロードに長い時間がかかります。
ロード、シンボルロードにかかる時間を短縮する方法は無いでしょうか。

 

回答

デバッグ情報が大きい場合、デバッグ情報の解析に時間がかかります。
デバッグ情報の解析にかかる時間はロード対象に含まれるデバッグ情報の内容やホストPCの性能によって変わります。
以下はシンボルロードの所要時間の例です。

項目 動作環境
OS Microsoft Windows 7 Professional 64bit Service Pack1
CPU Intel Core i7-6700
周波数 3.40 GHz
メモリ 8.00 GB


デバッグ情報のサイズ シンボルロードにかかる時間
19 MB 20 秒
36 MB 30 秒
71 MB 53 秒
105 MB 72 秒
141 MB 98 秒



デバッグ情報の大きなファイルをデバッグしたい場合、以下の手順によりロード、シンボルロードにかかる時間を短縮することができます。

1. RELEASEバリアントで、ビルド設定を以下のように変更してデバッグ対象のファイルをデバッグ情報付きでビルドします。

  • 「ARM Compiler toolchain」を使用するプロジェクトの場合、ビルド設定「Building ARM/Thumb C++ Objects」でDebugging and OptimizationEnables debug table generation (--debug, -g)を有効にする
  • 「ARM Compiler 6」を使用するプロジェクトの場合、ビルド設定「Building ARM Objects from C++ Source Files」でDebuggingGenerate debug informationを有効にする

2. レジデントユニットをロードまたはシンボルロードして、デバッグ対象のモジュールを含むファイルをパーシャルロードします。

3. デバッグ対象のモジュールをタスク生成またはShellスクリプトにおける関数の評価を含む式評価コマンドの実行により実行し、デバッグします。

4. デバッグが終了した後は、RELEASEバリアントで変更したビルド設定を元に戻してください。

 


更新履歴:
2018-12-12 新規作成