在使用VerySleepy进行分析时看到它是评分最高的项目后,我搜索了它,似乎每个人都得到了答案“这是一个系统功能,忽略它”。但是Sleepy对该函数的提示是这样说的:Hint:KiFastSystemCallRetoftenmeansthethreadwaswaitingforsomethingelsetofinish.PossiblecausesmightbediskI/O,waitingforanevent,ormaybejustcallingSleep().现在,我的应用程序绝对会消耗CPU,因此33%的时间都花在等待某事发生上,这有点奇怪。我真的只是忽略它吗?编辑:显然,77
我是分析方面的新手。我想优化我的代码以满足时间限制。我使用VisualC++08Express,因此不得不下载一个分析器,对我来说它非常困。我做了一些搜索,但没有找到关于Sleepy的体面教程,这里是我的问题:如何正确使用?我掌握了profiling的大概思路,所以我按照%exclusive排序,找出我的瓶颈。首先,在这个列表的顶部,我有ZwWaitForSingleObject、RtlEnterCriticalSection、operatornew、RtlLeaveCriticalSection、printf,一些迭代器……在它们占用大约60%之后出现了我的第一个函数,子调用的第一个
我有一个使用VisualStudio2010构建的混合C#/托管C++/非托管C++的工具。代码实际上分布在一个.exe(我将其称为mybinary.exe)和一个.dll(mylib.dll。)我已经在项目上为dll和exe设置了build设置,以便在发布构建中生成PDB文件。我已经确保PDB文件都在exe和pdb所在的同一目录中。但是当我调试这个程序时我仍然看不到函数的名称;我只看到地址。这是我在VerySleepy的第一个屏幕中选择程序时在底部的小状态栏中得到的相关摘录:DBGHELP:mybinary.vshost-publicsymbolsC:\Users\(me)\AppD
我正在使用VerySleepy分析一些C++代码,我注意到在SourceView中,它显示了红色的逐行时间测量值,在某些情况下,只有方法的左花括号或右花括号的行总是有测量值与函数中的其他代码行相比,这些情况非常高。我最初的假设是显示将方法参数压入左大括号堆栈所花费的时间,以及为右大括号弹出堆栈所花费的时间。这是真的吗? 最佳答案 我从VerySleepy的维护者RichardMitton(@grumpydev)在推特上得到了一个答案:“很可能函数已经优化,所以行号与代码不完全匹配更多。也就是说,所有时间都集中在开始时,而不是分散在函
有没有人知道VerySleepy分析器是如何找到PDB文件的?它似乎没有使用_NT_SYMBOL_PATHenv变量。我已经成功地将PDB放在与可执行文件和DLL相同的目录中,但我正在尝试分析一个使用大量DLL的程序并且它正在真的很痛苦。有没有办法让它指向一个符号服务器? 最佳答案 原始.pdb文件的路径正在包含在DLL中。只是不要移动它们。VerySleepy的源代码是readilyavailable.它使用DbgHelpAPI,symbolinfo.cpp源代码文件。调用SymInitialize()允许工具指定符号的搜索路径,
我是新手,所以可能缺少一些基本的东西。我使用gcc4.8(MinGW)和-g选项编译我的C程序。然后我运行它并使用VerySleepy捕获它。一切正常,但Sleepy的输出如下所示:memcpy0.980.987.657.65msvcrtunknown0[00000000004038FE]0.770.776.026.02a0memset0.630.634.924.93msvcrtunknown0[0000000000404549]0.420.423.293.29a0[000000000040282A]0.350.352.732.73a0[0000000000404600]0.250.2
我有一个要分析的DLL。我尝试使用VerySleepy,但我似乎无法让源文件列显示函数来自哪个源文件,它显示的只是“未知”。无论如何,我真的对如何使用这个应用程序感到困惑。任何人都可以指出我要帮忙吗?关于它的文档并不多,而且它似乎最近没有维护..=/谢谢..编辑:添加另一个问题:在此应用中,专有和包容这两个术语是什么意思?谢谢.. 最佳答案 如果您想知道源文件和列,您将需要调试信息(PDB文件)。除非您要求,否则不会保存该信息。不幸的是,探查器没有我能找到的文档。但是,therearedefinitionsforinclusivea
我有一个要分析的DLL。我尝试使用VerySleepy,但我似乎无法让源文件列显示函数来自哪个源文件,它显示的只是“未知”。无论如何,我真的对如何使用这个应用程序感到困惑。任何人都可以指出我要帮忙吗?关于它的文档并不多,而且它似乎最近没有维护..=/谢谢..编辑:添加另一个问题:在此应用中,专有和包容这两个术语是什么意思?谢谢.. 最佳答案 如果您想知道源文件和列,您将需要调试信息(PDB文件)。除非您要求,否则不会保存该信息。不幸的是,探查器没有我能找到的文档。但是,therearedefinitionsforinclusivea