我将SysInternals DebugView与我的.Net应用程序结合使用。我尝试过使用.Net调试类的缩进特性,但DebugView似乎只是将其表示为NewLine字符。
有没有人知道是否可以让DebugView显示缩进?
示例代码:
static void Main (string[] args)
{
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
}输出:
[9632] Indent level: 0
[9632]
[9632] Indent level: 1
[9632]
[9632]
[9632] Indent level: 2
[9632]
[9632]
[9632]
[9632] Indent level: 3
[9632]
[9632]
[9632] Indent level: 2
[9632]
[9632] Indent level: 1
[9632] Indent level: 0我想看到的是:
[9632] Indent level: 0
[9632] Indent level: 1
[9632] Indent level: 2
[9632] Indent level: 3
[9632] Indent level: 2
[9632] Indent level: 1
[9632] Indent level: 0里克
发布于 2011-10-10 08:22:08
但是等等!看来这是可能的。您只需关闭,部队运输车返回选项菜单上的功能即可。
我在这里发现了答案:http://forum.sysinternals.com/topic26797_post131196.html#131196
以下是课文:
默认情况下,
运输返回选项是启用的,它显示传递给单独行上的调试输出函数的每个字符串,不管文本是否以回车结束。如果在“选项”菜单中禁用该选项,DebugView缓冲区将输出内存中的文本,并仅在遇到回车或填充内存缓冲区(约4192个字符)时才将其添加到显示中。这允许应用程序和驱动程序构建具有多个调试输出函数调用的输出行。
发布于 2011-10-07 11:41:00
我不认为你能让DebugView这样做。它捕获单独的输出写入,因此,当您执行Debug.WriteLine调试类时,它将单独输出缩进空间,作为单独的OutputDebugString调用。当然,您仍然可以自己添加缩进空间,并将写入映射到单个底层API调用中:
string currentIndent = " ";
// ...
Debug.WriteLine(currentIndent + "Indent level: {0}", Debug.IndentLevel);https://stackoverflow.com/questions/7686476
复制相似问题