问题标签 [mtrace]
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.
c++ - 从 C++ 程序中提取 memtraces
我对提取某个程序的内存访问感兴趣。
我正在寻找以下列表,例如特定执行:
我已经尝试过 valgrind 和 mtrace,以及它们的相关工具。
它们似乎都返回了更一般的统计信息或内存泄漏相关的统计信息。
我对所有内存访问数据感兴趣。
我用谷歌搜索了几个小时,发现很多论文处理这个问题,但没有一个有效的开源代码。
感谢你的帮助
c - memwatch的内存损坏和崩溃问题
当我在我的程序中使用 memwatch 时,我崩溃如下:
* `./xxx' 中的错误:双重释放或损坏(输出):0x0a015650 * ...
因为这是商业节目。我无法显示我的代码。但是,他们是否有任何已知问题与 memwatch 中的内存损坏有关?我正在使用 stdup() 创建字符串内存并在使用后立即释放它。所以没有双重免费,我保证
此外,当我使用 valgrind 时,它显示相同的错误
一件奇怪的事情是,如果我不使用 memwatch,valgrind 没有显示任何错误,也没有崩溃。所以我怀疑 memewatch 的包装器 malloc 或 free 中存在任何已知问题。
* 2014 年更新。3. 3 *
我找到了答案:-)。因为我根本没有构建应用程序中使用的库。只有应用程序是用 memwatch.c 和 memwatch.h 构建的。所以问题是内存(mwMalloc)是在我的应用程序代码中创建并由库释放的。所以,在我看来,memwatch 有这个缺点,因为所有的库都应该再次使用 memwatch 支持来构建。但这几乎是不可能的。我认为,为了速度,mtrace(glibc 内置)会更好,或者在某些情况下可以使用 valgrind。
c++ - 如何在服务器上使用 mtrace
我在我的程序中成功使用mtrace()
,但它只创建了一个 16MB 的不可读文件,我在这里读到创建一个我应该使用的可读文件:
问题是我有一个需要一些参数的服务器,我也必须在它上面运行一个应用程序,我尝试运行这个:
但相反,如果打开服务器并等待应用程序,它只会输出一个未释放内存的列表。
所以我的问题是如何mtrace
正确使用服务器?
编辑:
用不可读的文件运行 mtrace 给我这个:
很多这样的行:
和这个:
c - 为什么 mtrace 实用程序不支持 mmap() 分配?
为什么 Linux mtrace 实用程序不跟踪通过 mmap() / munmap() cals 完成的内存分配?实施该目标的方式和挑战是什么?
我需要一个可靠的工具来跟踪我的应用程序完成的内存分配,该应用程序大量使用 mmap() 调用。valgrind 无法支持我启用 setuid 的应用程序,并发出此错误“无法执行 setuid/setgid 可执行文件 :: Valgrind 不支持 setuid 可执行文件。”
谢谢, 萨拉瓦南
c - 如何找到正确的 mtrace 脚本来解释 mtrace 输出?
我正在使用 gnu mtrace 工具来检查 C 代码中的内存泄漏。这会生成一个难以阅读的文本文件(可能是所有动态内存操作的日志),该文件可以由也称为 mtrace 的 perl 脚本解释。
我尝试使用 mtrace 脚本 2.15 版,但这似乎无法正常工作,报告相同的内存地址已释放但未分配和已分配但未释放。也许它与文本文件格式不匹配(文本文件没有版本号)。我尝试了 2.5 和 2.7 版本,由于 perl 语法过时(运行 perl v5.10.1),它似乎无法运行。
有人遇到过类似的问题并解决了吗?
c - Mtrace 物理内存分配日志
我想问我是否可以使用 mtrace() 函数来让我的程序记录内存分配的物理地址。另外,如果我使用 mtrace() 并且能够显示用于分配的地址,这会显示物理或虚拟内存中的地址吗?
先感谢您。
编辑:好的,所以我运行以下代码:
它给了我以下输出:
地址是显示在虚拟内存还是物理内存中?
curl - curl curl_global_init 内存泄漏
gcc -o 测试 test.c -lcurl
。/测试
mtrace 输出
什么可能导致此内存泄漏?
r - 我们可以暂停 R 中的调试过程吗?
我编写的代码已经运行了超过 12 个小时,并通过mtrace()
函数go()
(来自调试包)运行它。现在我想暂停它并自己按回车键完成剩余的过程,有没有办法做到这一点?
automation - .sh 插入一个 ? 文件生成时
我使用 .sh 文件和 cron 作业每 5 分钟自动执行一次 MTR。使用下面我得到所需的信息,但它是不可用的,因为在每个新文件之后它都会插入一个?到文件名。
文件输出如下所示:
任何关于为什么插入这些问号的帮助都会有很大帮助。
谢谢
c - 在函数中使用的自由变量返回后的分段错误
我需要 ipv6 地址中的最后 2 列。(2001:1234:asdd:xeed:212:4b00:61) --> (4b0061) 我还需要知道如何释放 ipv6_parser 函数的返回。
当我试图释放结果时,它给出了“分段错误”。