マクロによって生成されるメソッドがいくつかあります。「前処理」コンパニオンのコードを見ることができます。コンパイルして正常に実行されます。分解を進めることはできますが、それは面白くありません。1 行に複数のステートメントが記述されている場合にも、同様の問題が存在するようです。解決策はありますか?
1 に答える
2
あなたが経験しているように、マクロはデバッグが難しいです。
これは、コンパイルが開始される前に (プリプロセッサによって) 展開されるため、clang/gcc/icc/whatever がコードを認識し、行テーブルを含むデバッグ情報を生成するまでに、マクロの痕跡が残っていないためです。 .
この問題は LLDB 固有のものではなく、より一般的には、プリプロセッサと別のコンパイラを使用する C/C++/ObjC コンパイル モデルの性質によるものであり、後者のみがデバッグ情報の生成に寄与し、前者のみがマクロを認識します。
于 2013-09-17T20:50:44.997 に答える