如何在 Visual Studio 操作中输出新行?
How to output new line in Visual Studio actions?
我在Visual Studio2015添加了一个断点,用一个动作输出一个字符串到输出Window。最后会有一个自动添加的换行符。问题是,我之前的输出信息(不是断点输出)没有换行。
所以我想在我的字符串的开头添加换行符,以避免它弄乱我之前的消息。我尝试添加 \n
,但 \n
输出原样, 没有被转义 。
如何在断点动作中添加换行符?
这里有四件事供您尝试:
您可以 使用调试器表达式 {"\n",s8b}
生成换行符,它利用了 C++ debugger format specifier s8b
(未加引号的 8 位字符串)。
这是一个包含两行消息的示例 First{"\n",s8b}Second
:
(除此之外,我不知道有任何其他方法可以在消息中包含换行符。虽然有 有 种输入多行消息的方法(通过输入使用小键盘换行字符的 Unicode 代码点),Visual Studio 将丢弃除输入的第一行文本之外的所有内容。)
就在您当前的断点之前,添加一个 带有非常短的操作消息的附加断点(点或逗号)以获得额外的换行符在你真正的消息之前。
如果您在 Windows(这很可能,给定 Visual Studio),您可以使用 [=] 向调试器 发送消息56=]API函数OutputDebugString
. This is the currently suggested solution to the SO question, "How do I print to the debug output window in a Win32 app?"
写消息给clog
: std::clog << message << std::endl;
.
除了来自 stakx 的 与调试 C++ 应用程序的原始问题匹配之外,我想添加一个字符序列,而不是适用于 调试 .NET 应用程序:
{"\n",nq}
否则 C++ 序列将导致此错误消息:'s8b' is not a valid format specifier
我在Visual Studio2015添加了一个断点,用一个动作输出一个字符串到输出Window。最后会有一个自动添加的换行符。问题是,我之前的输出信息(不是断点输出)没有换行。
所以我想在我的字符串的开头添加换行符,以避免它弄乱我之前的消息。我尝试添加 \n
,但 \n
输出原样, 没有被转义 。
如何在断点动作中添加换行符?
这里有四件事供您尝试:
您可以 使用调试器表达式
{"\n",s8b}
生成换行符,它利用了 C++ debugger format specifiers8b
(未加引号的 8 位字符串)。这是一个包含两行消息的示例
First{"\n",s8b}Second
:(除此之外,我不知道有任何其他方法可以在消息中包含换行符。虽然有 有 种输入多行消息的方法(通过输入使用小键盘换行字符的 Unicode 代码点),Visual Studio 将丢弃除输入的第一行文本之外的所有内容。)
就在您当前的断点之前,添加一个 带有非常短的操作消息的附加断点(点或逗号)以获得额外的换行符在你真正的消息之前。
如果您在 Windows(这很可能,给定 Visual Studio),您可以使用 [=] 向调试器 发送消息56=]API函数
OutputDebugString
. This is the currently suggested solution to the SO question, "How do I print to the debug output window in a Win32 app?"写消息给
clog
:std::clog << message << std::endl;
.
除了来自 stakx 的
{"\n",nq}
否则 C++ 序列将导致此错误消息:'s8b' is not a valid format specifier