これはマクロに関するより理論的な質問です (私はそう思います)。マクロはソース コードを取得し、それを評価せずにオブジェクト コードを生成し、プログラマーがより用途の広い構文構造を作成できるようにします。この 2 つのマクロ システムを分類する必要があるとすれば、「C スタイル」のマクロと「Lisp スタイル」のマクロがあると言えます。
実行時に実際に実行されているコードがソースと異なるため、マクロのデバッグは少し難しいようです。
デバッガーは、前処理されたソース コードに関してプログラムの実行をどのように追跡しますか? マクロに関する追加データを取得するために設定する必要がある特別な「デバッグ モード」はありますか?
C では、デバッグ用にコンパイル時のスイッチを設定することは理解できますが、Lisp の一部の形式などのインタープリター言語ではどのようにそれを行うのでしょうか?
これを試していないことをお詫びしますが、Lisp ツールチェーンを理解するには、私が費やさなければならないよりも多くの時間が必要です。