使用`callGrind`来计数linux中的函数调用

发布于 2025-02-10 09:48:30 字数 435 浏览 2 评论 0原文

我正在尝试跟踪我感兴趣的程序的函数调用。如果我自己运行该程序,它将运行良好。如果我尝试使用下面看到的命令将其运行,我似乎会得到不同的结果。

命令运行:

即使执行通常很慢,也会立即产生此输入。

I am trying to track function call counts on a program I'm interested in. If I run the program on its own, it will run fine. If I try to run it with valgrind using the command seen below I seem to be getting a different result.

Command run:
enter image description here

Produces this input immediately, even though the execution is normally slow.
enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心碎的声音 2025-02-17 09:48:30

我要说的是,这更有可能与 this 问题。但是,可以肯定的是,您需要告诉我们

  1. 使用了哪些编译选项 - 特别是您使用与AVX或X87相关的任何内容吗?
  2. 这正在运行什么硬件。

如果您可以将其切成小示例并更新此或FREXP BUGZILLA项目,这将有所帮助。

I'd say that this is more likely to be related to this issue. However to be certain you will need to tell us

  1. what compilation options are being used - specifically are you using anything related to AVX or x87?
  2. What hardware this is running on.

It would help if you can cut this down to a small example and either update this or the frexp bugzilla items.

且行且努力 2025-02-17 09:48:30

valgrind具有有限的浮点支撑。您可能正在使用非标准或非常大的浮子。

更新:由于您使用的是,因此您不幸。很遗憾,

您最不糟糕的选择
是找到一种方法,只需使用标准IEEE754才能使您的世界工作
64位双精度。

考虑到您正在使用现有项目,这可能并不容易。

valgrind has limited floating point support. You're probably using non-standard or very large floats.

UPDATE: since you're using long double, you're outta luck. Unfortunately,

Your least-worst option
is to find a way to make your world work just using standard IEEE754
64-bit double precision.

This probably isn't easy considering you're using an existing project.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文