2012-11-22 9 views
1

我是一個使用Visual Studio 2008和C++的新手。 我的任務是運行一個自動系統框架,該框架在應用程序的調試版本上運行一組測試,並記錄其間的所有斷言。如何使用Visual Studio自動記錄斷言?

有人能指點我從哪裏開始的正確方向。 Visual Studio是否提供了對日誌斷言的支持? 如果不是,我可以使用其他資源來達到這個目的嗎?

在此先感謝。

+0

創建應用程序進程,附加到應用程序進程,啓動應用程序進程,收集調試輸出(包括assserts),直到程序停止執行。 http://msdn.microsoft.com/en-us/library/ms809754.aspx並觀察「OUTPUT_DEBUG_STRING_DEBUG_EVENT」。現在有人提出了一個真正的答案。 –

回答

1

我不知道VS2008內有任何特定的功能,但有一種選擇是根據您的需要重新定義assert()宏。沿着那條線:

#define assert(expression) Logfile::getSingletonPtr()->write(...); 

您可以根據需要寫出表達式,文件,行等。

注意:這種方法會導致warning C4005(宏定義),請不要驚訝。

如果要在assert()中使用其他消息,還可以看看this SO thread