【发布时间】:2018-01-30 07:48:11
【问题描述】:
我想用一种日志记录来扩展我的应用程序,可以选择记录到文件和/或记录到“Visual Studio”“输出”窗口。
对于后者,似乎OutputDebugString() 函数可以解决问题,但仅适用于“调试”构建,我希望也有这个用于“发布”构建,所以我想出了这个想法使用跟踪点(至少,我认为跟踪点也在写入“发布”构建的“输出”窗口),但在这里我有一个相当令人沮丧的问题:
跟踪点是一种特殊的断点,似乎被写入 *.suo 文件,存在于 <project directory>\.vs\<project name>\v15 目录中(请参阅 Where are Visual Studio breakpoints saved?.,谢谢,Max)。
我的想法是编写一个构建后事件,在 *.suo 文件中调用log() 操作的每一行中添加一个跟踪点。
然而,这是不可能的,原因很简单,*.suo 文件是二进制文件:-(
是否有人知道在构建时向应用程序添加跟踪点的另一种方法,或者如何(使用“调试”/“发布”开关)写入 Visual Studio 的“输出”窗口?
提前致谢
【问题讨论】:
-
据我了解,
OutputDebugString应该在附加调试器时工作,而不仅仅是在“调试”构建中。 -
你为什么不用
std::cout?
标签: c++ visual-studio visual-studio-2017