Visual Studio 2008 - 获取断点之间的时间间隔?

9

有没有人知道在VS 2008中是否可以获取断点之间的时间间隔?插件?技巧?

我不想添加代码来计算某些操作所需的时间,我希望在调试过程中快速获得这个信息。对于那些聪明的家伙,我知道我总是可以用秒表来计时,但我也想要一些相对精确的东西。

4个回答

18

2
谢谢,这正是我在寻找的。如果您的代码需要几秒钟才能运行,您也可以使用{DateTime.Now.Second}。 - Crackerjack
@Nikolai - “谢谢,这正是我在寻找的。” - Philip Wallace
3
@PhilipWallace - 那又怎样?这个问题并不是特定于C#的。他只是碰巧使用了C#。 - Nikolai
@Sinatr 一个跟踪点是代码中的一个点,在该点将某些内容打印到输出窗口而不是停止程序执行。不幸的是,图片链接已经失效,但我想Phillip Wallace可能意味着在每个跟踪点上打印$TICK变量(请参见我的链接以获取$TICK定义)。不幸的是,我尝试在Visual C++(VS2017)中自己实现这一点,但只得到了两个看起来毫无意义的十六进制值。 - Ð..

6

添加两个手表:

@clk
@clk = 0

调试器按从上到下的顺序进行评估,因此@clk将显示该调试器步骤所需的时间,@clk = 0将为下一步重置它回到0。


这个clk变量的来源在哪里?我得到了一个无符号整数,如“1861728”,我不确定如何解释它——它只是毫秒数吗?编辑:在按照此链接之后,我通过汉斯·帕桑特在该问题上的评论找到了这里 - Ð..

1

在这方面,您可以使用@clk调试宏中的一些有用技巧。它会提供当前时间戳。

在第一个断点处添加@clk=0的监视器。这将重置为零。 在第二个断点处查看@clk的值-它将是自第一个断点以来的持续时间。


0

目前没有想到什么可以做的,但是也许你可以使用性能向导获取一些有用的(时间)信息。另一方面,如果你在每次命中时打印一条消息,你可以打印当前时间。


2
-1 因为你一开始就说你想不到任何内容。 - Jack Marchetti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接