0
標題說得很好。我有一個使用Makefile的巨大項目。我如何使用GCC執行項目範圍的調試轉儲(例如,-fdump-tree-gimple)?如何使用Makefile項目進行GCC調試轉儲?
標題說得很好。我有一個使用Makefile的巨大項目。我如何使用GCC執行項目範圍的調試轉儲(例如,-fdump-tree-gimple)?如何使用Makefile項目進行GCC調試轉儲?
你必須通過-fdump-tree-gimple
(實際上是把任何通名稱,而不是gimple
,甚至all
轉儲所有樹經過),以編譯字符串爲每個編譯執行(即每一次,你正在呼籲源文件或-c
GCC選項)。在工作目錄(通常是生成文件夾)中將出現任何源文件名的轉儲(格式爲filename.c.XXX.gimple
)(XXX是類似003的傳遞號,取決於gcc版本)。您也可以指定-dumpdir
來收集單個轉儲目錄中的所有轉儲,這可能很方便以避免混亂。
你將如何在你的makefile中完成你的工作。您可以將其添加到$CFLAGS
(最常見的解決方案,因爲傾銷是是編譯標誌的一部分),或創建特殊變量並將其傳遞或在makefile中對其進行硬編碼。
如果您正在使用lto構建您的項目,則您還必須在第二個鏈接階段傳遞這些標記(即添加到LDFLAGS左右)。
謝謝!自從我用Makefiles完成任何事情以來,這已經很長時間了,我幾乎忘記了一切。 :) – manabreak