2012-10-23 22 views
0

我正在使用GCC 4.7.2。我的代碼在模板上很重,STL和boost的用法。當我編譯時,某些類或函數中有一個錯誤,或者使用了一些boost/STL功能,我得到的錯誤消息顯示了我的類/函數的壯觀的返回類型和/或函數參數。爲GCC錯誤消息提高漂亮打印

我的問題:

是否有東西含升壓/ STL類型GCC警告/錯誤一prettyprint類型,從而使錯誤信息顯示的返回類型對應於我的代碼已經輸入或者至少變得更易理解?

我已經簡單地通過this question脫脂,然而,大約是GDB,而不是GCC ...

我也碰到過this pretty printer in Haskell,但這似乎只是增加結構,帶不走(主要是)不需要的細節...

其他建議?

+0

你可以試試stlfilt - http://c2.com/cgi/wiki?StlFilt – mark

回答

2

您可以嘗試STLfilt,如David Abrahms的'C++ Template Metaprogramming'& Alesky Gurtovoy。

該書包含了關於模板消息診斷的章節。它建議使用STLFilt /showback:N來消除編譯器回溯材料以獲得簡化的輸出。

+0

整潔!似乎是STL只,但沒有提升......哦,它肯定比標準顯示更好。 –

2

我問了一個similar question,有人建議我試試gccfilter。這是一個Perl腳本,它重新格式化g ++的輸出並對其進行着色,縮短它,隱藏完整的路徑名等等。

實際上,這個建議實際上也很好地回答了這個問題:它能夠隱藏不需要的細節並漂亮地打印STL和增強類型。所以:我會在這裏留下這個答案。

我能看到的唯一缺點是g ++需要從腳本中調用(即當時不可能調用管道)。我懷疑這很容易修復,無論如何,這是一個相對較小的問題。

+0

聽起來很有意思我會看看它,歡呼 – mark

+0

腳本正在使用的包之一不再存在..本網頁給出的相應鏈接無效。 – user8385554