我对提出这样一个问题犹豫不决,因为我担心这个问题太过分了。
我想询问Meta是否位置太大,但我犹豫了......好吧......我确实需要答案。如果有任何问题我会删除。
我正在研究Very Sleepy,它是一个代码分析器,可帮助我检测热点并锁定应用程序上的问题。
我只想知道为什么在非常困倦的分析中有些标记为绿色和黑色? 这是分析的例子的链接:http://www.codersnotes.com/images/3.png
我的猜测是绿色的是系统调用而黑色只是“进程”调用。
答案 0 :(得分:1)
Very Sleepy是开源的,所以你得到的源代码很少甚至没有文档。没有那么多,大多数5+兆字节的下载实际上并不是代码。
看一下src / wxProfilerGUI / CallstackView.cpp源代码文件,当符号的isCollapseFunction
或isCollapseModule
成员为真时,它看起来像是以绿色绘制。搜索这些符号会将您带到同一目录中的database.cpp:
sym->isCollapseFunction = osFunctions.Contains(sym->procname.c_str());
sym->isCollapseModule = osModules.Contains(sym->module.c_str());
当符号是操作系统功能或模块时,它是绿色的。看起来准确,截图中的绿色符号确实是Windows DLL函数。从中获取的提示是,尝试优化该功能没有意义,你无法改变它。