标签: kcachegrind

kcachegrind:以下函数没有可用的源代码

我正在尝试查看带注释的源,$ valgrind --tool=callgrind ./myProgram然后$ kcachegrind使用Ubuntu 12.04(我在$ qcachegrind使用Mac OSX时遇到了同样的问题).

C++脚本myProgram.cpp调用生活在.hpp文件中的函数(通过#include "../include/myHeader.hpp"等).我myProgram.cpp像这样编译:

g++ -g -o myProgram myProgram.o -l<some third party lib>
Run Code Online (Sandbox Code Playgroud)

我不关心查看第三方库的注释源.

我想看到的是 函数in myHeader.hpp和for的注释源myProgram.cpp.

相反,我看到 kcachegrind的Flat Profile窗口,其中列出了所有被调用的函数,包括函数myHeader.hpp- 这很棒.现在,kcachegrind报告函数的位置myHeader.hpp来自myProgram- 这很奇怪.最后,当我从Flat Profile窗口中选择任何函数并请求查看源代码时,我遇到了:

There is no source available for the following function
<name of the selected function>
This is because no debug information is present.
Recompile the source …
Run Code Online (Sandbox Code Playgroud)

c++ profiling callgrind kcachegrind

5
推荐指数
1
解决办法
2438
查看次数

Kcachegrind覆盖列表项目限制为499

目前,我无法让我的kcachegrind实例显示超过499个列表项.这给我留下了一个不完整的调用图.

有没有办法不跳过功能?

kcachegrind

4
推荐指数
1
解决办法
650
查看次数

使callgrind显示kcachegrind调用图中的所有函数调用

我正在使用valgrind工具-callgrind和kcachegrind对大型项目进行概要分析,并且想知道是否有一种方法可以使callgrind报告所有功能(不仅是最昂贵的功能)的统计信息。

具体来说-当我在kcachegrind中可视化调用图时,它仅包含那些非常昂贵的函数,但是我想知道是否有办法将项目中的所有函数都包含在调用图中。下面给出了用于生成分析信息的命令:

valgrind --dsymutil=yes --tool=callgrind $EXE 
Run Code Online (Sandbox Code Playgroud)

我不确定是否必须为valgrind提供任何选项,或者是否可能以其他优化方式编译应用程序。这可能有些琐碎,但我找不到解决方案。任何对此的高度赞赏。

谢谢 !

valgrind callgrind kcachegrind

4
推荐指数
2
解决办法
4999
查看次数

使用KchacheGrind分析的cProfile输出中的&lt;cycle 5&gt;函数是什么意思?

我想分析python代码的性能,为此我使用了cProfile模块并生成了python文档中提到的.cprof文件。我正在使用pyprof2calltree python模块将.cprof文件打开到KCacheGrind中KCacheGrind工具的屏幕截图。我已经放入了分析结果的屏幕快照,它表明名为循环5的函数占用了100.04%的CPU时间。我不知道这代表什么。它也没有显示此功能的任何源代码。

python profiling kcachegrind cprofile

4
推荐指数
1
解决办法
611
查看次数

需要帮助来理解kcachedgrind输出

我正在使用valgrind callgrind来分析gtk上的程序.然后我使用kcachedgrind来读取结果.我在这里获取了kcachedgrind的更新截图:http://i41.tinypic.com/168spk0.jpg .它说函数gtk_moz_embed_new()花费了'15 .61%'.但我不明白这是怎么可能的.函数gtk_moz_embed_new()字面上有1行:它只是调用g_object_new().

GtkWidget *
gtk_moz_embed_new(void)
{
  return GTK_WIDGET(g_object_new(GTK_TYPE_MOZ_EMBED, NULL));
}
Run Code Online (Sandbox Code Playgroud)

你能帮助理解结果或如何使用kcachedgrind.

谢谢.

valgrind kcachegrind

3
推荐指数
1
解决办法
2002
查看次数

Xdebug 分析器输出文件

X debug 将输出作为部分而不是一个文件返回。我正在使用 ubuntu 16,不知道为什么突然输出在几个文件中。我遇到的问题是我无法在 Kcachegrind 中打开这些文件,因为输出在单独的文件中有不同的部分。任何人?提前致谢

php xdebug kcachegrind xdebug-profiler

3
推荐指数
1
解决办法
2332
查看次数

哪个是最可靠的分析工具gprof或k​​cachegrind?

使用两者来分析一些C++数字运算代码,gprofkcachegrind为对执行时间贡献最大的函数(取决于输入的50-80%)给出类似的结果,但对于10-30%之间的函数,这些工具都给出不同的结果.这是否意味着其中一个不可靠?你会怎么做?

c++ profiling gprof kcachegrind

2
推荐指数
2
解决办法
6736
查看次数

我如何回到kcachegrind的开头?

有时我运行kcachegrind,点击一会儿,点击关闭左侧面板的小'x'(哎呀!不知道如何取回它),点击更多,完全丢失,然后退出kcachegrind.

然后我再次在相同的输入文件上重新运行kcachegrind,希望重新开始,但相反,kcachegrind"帮助"记住我所处的破碎状态并让我回到那里,即完全丢失并且我有一个缺少的面板不知道怎么回来.

我该如何恢复?

  • Hitting Up,Up,Up ...并没有帮助我找到节点"main",因为我在一个循环中,并且main甚至不在当前的调用图中,因为我在一个线程中.
  • 文件 - >重新加载没有帮助.
  • 视图 - >布局 - >恢复到默认没有帮助.
  • 重命名输入文件没有帮助.
  • 删除并重新安装kcachegrind并没有帮助.

我该如何回到起点?也就是说,默认布局,默认节点,默认其他一切.

我在ubuntu 14.04上使用KCachegrind版本0.7.4kde.

kcachegrind

2
推荐指数
1
解决办法
319
查看次数

PHP内存调试

对于我的项目之一,我需要导入一个非常大的文本文件(~950MB).我正在为我的项目使用Symfony2和Doctrine 2.

我的问题是我得到的错误如下:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 24 bytes)
Run Code Online (Sandbox Code Playgroud)

如果我将内存限制增加到1GB,甚至会出现错误.

我试图通过使用XDebug和KCacheGrind(作为PHPEdit的一部分)来分析问题,但我真的不明白这些值:(

我正在寻找一种工具或方法(Quick and Simple,因为我没有太多时间)来找出为什么分配内存而不是再次释放.

编辑

要清除这里的一些内容,我的代码是:

$handle = fopen($geonameBasePath . 'allCountries.txt','r');

        $i = 0;
        $batchSize = 100;

        if($handle) {
            while (($buffer = fgets($handle,16384)) !== false) {

                if( $buffer[0] == '#') //skip comments
                    continue;
                //split parts
                $parts = explode("\t",$buffer);


                if( $parts[6] != 'P')
                    continue;

                if( $i%$batchSize == 0 )    {
                    echo 'Flush & Clear' . PHP_EOL;
                    $em->flush();
                    $em->clear();
                }

                $entity = $em->getRepository('MyApplicationBundle:City')->findOneByGeonameId( $parts[0] …
Run Code Online (Sandbox Code Playgroud)

php xdebug kcachegrind symfony doctrine-orm

1
推荐指数
1
解决办法
1627
查看次数