2017-01-23 10 views
0

私はgcc/g ++ & gdbでデバッガ用Clion IDeを使用しています。変数の読み込み中にエラーが発生しました:フレームベースが見つかりませんでした

CMakeList.txtには、次のコンパイラオプションが設定されています。 set(CMAKE_CXX_FLAGS -std=c++11 -fopenmp -fPIC -O0 -gdwarf-2 -finline-functions)

main()では変数値を表示できますが、他のクラスでは表示できません。メインから直接呼び出された、またはネストされたすべてのメソッドのエラーを示します。

<error reading variable: Could not find the frame base for xxxxclass::xxxMethod> 任意のポインタが役立ちます。私が見

+0

-gdwarf-2の代わりに-g試してみてください –

答えて

1

いくつかの問題:あなたのデバッガが新しいドワーフリビジョンを扱うことができない場合を除き

  1. はドワーフV2(-gdwarf-2)に自分自身を制限しないでください。
  2. 可能な限り最適化を無効にするようにしてください(-O0-finline-functionsを正しく無効にする必要があります)。しかし、最新の矮星リビジョンでは、最適化をより適切に処理し追跡することに注意してください。
  3. デバッグ情報を冗長にすることを可能な限り試してください。 -gオプションはデフォルトで2の引数をとりますが、最大値は3です。次に、CPPマクロのデバッグのようなデバッガ機能の一部がロック解除されます。
  4. -ggdbでGDBデバッグ情報拡張を有効にします。
  5. まだ不満が残っている場合は、余分なgccのdebugging optionsを明示的に使用する必要があります。しかし、通常、最適化されたプログラムをデバッグする場合にのみ必要です。

ので、使用して再試行してください: set(CMAKE_CXX_FLAGS -std=c++11 -fopenmp -fPIC -O0 -g3 -ggdb)

関連する問題