私はC++とC言語で書かれたプログラムを持っています。私がGDBでプログラムを実行すると、行番号とC++コードのソースにアクセスできますが、Cコードではありません(つまり、スタックトレースは私にC++関数を呼び出しますが、Cでは使用できません)。さらに、私はCコードにエラーがあることを知っています。GDB with C++ with C code
GDBにもCコードを表示する方法はありますか? Cコードのどの行が私の問題を引き起こしているかを知ることは非常に便利ですが、それが立っているので、プログラムが問題からクラッシュしたときだけメモリアドレスを取得します。
また、私はあなたがC++コードだけでなく、Cコードのデバッグ情報を生成している設定set(CMAKE_CXX_FLAGS, "-g -fopenmp -Wall")
「コール」とはどういう意味ですか?そして、すべてはどのように構築されていますかシンボルなどが含まれていることを確認するには、すべてのコンパイルでデバッグサポートを有効にする必要があります。 – unwind
デバッグオプションでコンパイルします。 –
makefileはCMakeによって生成され、set(CMAKE_CXX_FLAGS、 "-g -fopenmp -Wall")を指定します。 Cのデバッグを有効にするために含める必要があるフラグはありますか?私は-gがそれを世話すると思った。 – QtizedQ