问题标签 [verysleepy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14201 浏览

c++ - 使用“非常困”的分析器来分析 DLL

我有一个要分析的 DLL。我尝试使用Very Sleepy,但我似乎无法让源文件列显示函数来自哪个源文件,它显示的只是“未知”。无论如何,我真的很困惑如何使用这个应用程序。任何人都可以指点我一些帮助吗?关于它的文档并不多,而且它似乎最近没有维护.. =/

谢谢..

编辑:添加另一个问题:

在这个应用程序中,术语排他性和包容性是什么意思?谢谢..

0 投票
6 回答
1676 浏览

c++ - C++ 在分析时发现 ntdll 中的性能问题 - 如何摆脱它?

我正在做一个小刚体模拟。我使用 Irrlicht 引擎进行显示,使用 openMesh 处理网格。

现在,我使用 VerySleepy 分析了我的应用程序,并注意到大部分时间都花在了以下函数中(不包括在子函数中花费的时间):

模块“ntdll”源文件“未知”中的 RtlCompareMemoryUlong 30%

KiFastSystemCallRet 模块“ntdll”源文件“未知”中的 21%

模块“ntdll”源文件“未知”中的 RtlFillMemoryUlong 9%

所以 50% 的时间都花在了这些函数上,我不会从代码中的某个地方调用它们,我也不明白它们在做什么。我怀疑它与图形有关,因为我只显示非常简单的网格。

有人可以告诉我如何弄清楚为什么调用这些函数以及如何摆脱它吗?

谢谢!

0 投票
2 回答
1742 浏览

c++ - RtlpNtMakeTemporaryKey - VerySleepy 表示这需要很多时间

我正在分析我的一些计算密集型代码,并且惊讶地发现该函数RtlpNtMakeTemporaryKey占用了大量时间。它的模块是ntdll,源文件是Unknown. 这是一个等待我的慢速函数终止的调用,还是我可以优化的调用?

0 投票
2 回答
4482 浏览

c++ - C++ 分析:KiFastSystemCallRet

在使用 Very Sleepy 进行分析时看到它是评分最高的项目后,我搜索了它,似乎每个人都得到了答案“这是一个系统功能,忽略它”。但是 Sleepy 对函数的提示说:

提示: KiFastSystemCallRet 通常意味着线程正在等待其他事情完成。可能的原因可能是磁盘 I/O、等待事件,或者只是调用 Sleep()。

现在,我的应用程序绝对在消耗 CPU,所以 33% 的时间都花在等待某件事发生上,这有点奇怪。

我真的只是忽略它吗?

编辑:显然,77% 的调用来自模块 nvd3dnum 中的 QueryOglResource (?)。我认为这可能是 nvidia Direct3D 的东西,即渲染。

0 投票
3 回答
2103 浏览

profiling - 非常昏昏欲睡的探查器 - 没有获取 PDB 文件以获取有关 exe 函数的信息?

我正在尝试在没有安装 Visual Studios 的机器上的 Windows 服务 .exe 上使用 Very Sleepy。我已经使用 xcopy 复制了 .exe .map 和 .pdb 文件。所有这些文件都位于执行服务的同一文件夹中。

但是当我附上 Very sleepy 时,与 .exe 相关的所有功能都没有任何名称,只有地址。

我错过了什么?

BR尼拉德里·博斯

0 投票
3 回答
6669 浏览

testing - 有没有非常困的分析器教程?

我在 C 中创建了一个打印“Hello world”1000 次的简单程序。现在我想测试非常困的分析器,但它看不到进程之间正在运行的程序。我在调试模式下运行应用程序,Visual Studio 2010。

0 投票
2 回答
1417 浏览

c - 为什么我们的软件在虚拟化下运行会这么慢?

我试图弄清楚为什么我们的软件在虚拟化下运行时运行得这么慢。我见过的大多数统计数据都说,在最坏的情况下它应该只有 10% 的性能损失,但在 Windows 虚拟服务器上,性能损失可以是 100-400%。我一直在尝试分析差异,但分析结果对我来说没有多大意义。这是我在没有虚拟化的 Vista 32 位机器上配置文件时看到的内容: 在此处输入图像描述

下面是在具有虚拟化的 Windows 2008 64 位服务器上运行的一个:在此处输入图像描述

慢的花费了大量的时间,RtlInitializeExceptionChain在快的上显示为 0.0s。知道那是做什么的吗?另外,当我附加到我的机器的进程时,只有一个线程,PulseEvent但是当我在服务器上连接时,有两个线程,GetDurationFormatEx并且RtlInitializeExceptionChain. 据我所知,我们编写的代码只使用一个线程。此外,值得一提的是,这是一个纯 C 语言编写的纯控制台应用程序,完全没有 UI。

任何人都可以为我阐明这一切吗?甚至只是关于其中一些ntdllkernel32调用正在做什么的信息?我也不确定有多少差异与 64/32 位相关,有多少与虚拟/非虚拟相关。不幸的是,我无法轻松访问其他配置来确定差异。

0 投票
1 回答
4427 浏览

c++ - Very Sleepy 如何查找符号文件?

有没有人知道非常昏昏欲睡的分析器是如何找到 PDB 文件的?似乎它没有使用 _NT_SYMBOL_PATH 环境变量。我通过将 PDB 与可执行文件和 DLL 放在同一目录中取得了成功,但我正在尝试分析一个使用大量 DLL 的程序并且它越来越真的很痛苦。没有办法让它指向符号服务器吗?

0 投票
0 回答
315 浏览

c++ - 非常昏昏欲睡的分析有哪些权限/权利?

我想允许用户使用非常困,而不给他管理员权限。

在没有管理员权限的情况下,他可以启动 Very Sleepy,然后启动一个带有该软件的应用程序来分析它。但是他看不到对它们启动分析的活动进程。

你知道解决方案吗?

PS:特别是在源代码中,Very Sleepy 使用 windows.h、process.h 和 winnt.h

0 投票
1 回答
484 浏览

c++ - 在非常昏昏欲睡的分析器中,在花括号附近显示的时间测量值代表什么?

我正在使用Very Sleepy来分析一些 C++ 代码,我注意到在 Source 视图中,它显示了红色的逐行时间花费的测量值,在只有方法打开的行上总是有测量值或大括号,在某些情况下,与函数中的其他代码行相比,这些值相当高。

我最初的假设显示了将方法参数推入堆栈以打开花括号所花费的时间,以及弹出堆栈以用于关闭花括号所花费的时间。这是真的?