3

我與Visual Studio 2015年的工作,我得到了很多編譯器錯誤的,但我無法揣摩出這些的根本原因是:如何查看模板編譯器錯誤的詳細信息在Visual Studio

Compiler errors in Visual Studio

突出顯示的錯誤雙擊帶我到list文件到operator==

template<class _Ty, 
class _Alloc> inline 
bool operator==(const list<_Ty, _Alloc>& _Left, 
    const list<_Ty, _Alloc>& _Right) 
{ // test for list equality 
return (_Left.size() == _Right.size() 
    && _STD equal(_Left.begin(), _Left.end(), _Right.begin())); 
} 

嗯,這並沒有幫助。由於我正在處理一個巨大的項目,所以我不知道錯誤的根本原因在哪裏,即導致此錯誤的代碼在哪裏使用std::list

我想如果我沒有記錯的話,XCode會顯示這樣的錯誤的堆棧。
我怎樣才能找出這個錯誤的起源?

+0

IIRC還有一個構建控制檯窗口,可以檢查原始文本輸出包括相關筆記。 –

+0

沒有什麼比這更高或更低的? Visual Studio真的是這樣嗎?我的VIm給了我更好的錯誤管理... – SergeyA

+0

'輸出'選項卡,具體而言。如果快捷方式與MSVS2013上的快捷方式相同,則按Ctrl-Alt-O應該啓動它。 – jaggedSpire

回答

1

正如評論中所述,輸出選項卡(Ctrl + Alt + O)顯示來自編譯器的所有消息。 「錯誤列表」選項卡只顯示一條消息,即實際的錯誤,如您所說,模板編譯問題不是很有幫助。我發現的作品非常好(有點乏味,但確實有效),是

  1. 雙擊錯誤列表選項卡中的消息。
  2. 切換到輸出標籤
  3. 使用F8步驟到下一個消息中的鏈(移位-F8步驟先前的消息)
+0

是的,輸出選項卡可能會提供一些額外的信息,如果內部的Visual Studio錯誤不會發生,我已經在評論中描述。 – j00hi

+0

有時將預處理器輸出發送到文件(''/ P''編譯器標誌)幫助我追蹤類似的問題。 – Phil

相關問題