问题标签 [dmalloc]
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.
header-files - 程序配置为使用 dmalloc 救助引用头文件错误
在尝试编译 lynx 时,我使用了“with-dmalloc”配置选项。但编译中止,产生此错误:
这就是 dmalloc.h 中的错误行:
该文件也可以在http://www.filewatcher.com/p/dmalloc-5.5.2.tbz.467309/include/dmalloc.h.html查看
dmalloc 的开发几乎已经停止,所以并不期待上游的修复。有什么帮助吗?
c - 'ld' 不能链接符号,尽管它们在库中
我在尝试用“dmalloc”编译和链接我的程序时遇到问题。
我有以下目录结构
现在我尝试使用以下命令编译我的程序:
好的,我知道链接符号有问题,ld 根本找不到对 dmalloc_malloc 的引用。然而...
我很困惑……那个符号就在那个图书馆里。为什么'ld'有问题?
c - dmalloc 库如何确定是否发生了越界访问?
执行此代码时,库 dmalloc 以某种方式确定存在越界内存访问。因为它分配了 1023 个元素并试图访问第 1024 个元素。(数组索引从 0 开始)。
它怎么会知道?
c++ - 将 dmalloc 与最近的 g++ 一起使用
我正在尝试将 dmalloc 与 g++ 4.7 一起使用。
我收到的错误消息是:
- 为什么 C 函数会抛出异常?
- 我可以以某种方式告诉编译器在编译时忽略 throw() 说明符吗?
...还是我必须以某种方式修补 dmalloc?
c - dmalloc 对 vsnprintf 的假设是否有标准的解决方法?
我正在尝试使用 dmalloc 版本 5.5.2 和 glibc 2.17。
dmalloc 中的链接总是会导致段错误。
调试时,我发现 dmalloc 在要格式化有用的调试消息时会调用 vsnprintf(...) 。不幸的是 vsnprintf(..) 本身调用了 free(),所以分段错误的原因是递归。free() 调用 vsnprintf(),vsnprintf() 调用 free() 等等,直到我们用一个巨大的堆栈跟踪进行段错误。
可以通过取消定义 HAVE_VSNPRINTF 和 HAVE_VPRINTF 来快速解决此问题,但是调试消息缺少关键信息。
我已经通过使用不分配内存的古老实现 vsnprintf(...) 破解了我自己的解决方案,但很难相信那里还没有一个好的解决方案。
有没有一种标准的方法可以用 dmalloc 解决这个问题?
fortran - 为什么这个示例代码(f90、MPI、派生类型)会导致无效的读/写(valgrind 或 dmalloc)?
这是有罪的代码(它与我问的另一个问题有关,这里):
使用 intelMPI 版本 4.0 或 5.0 编译时,我在发送时使用 valgrind 或 dmalloc 收到无效的读/写错误。使用openMPI,这个最小示例还不是很清楚,但是我在从中提取它的大代码中遇到了类似的通信问题。
感谢您的帮助!
c - dmalloc 日志未格式化堆栈地址
通过在 conf.h 文件中使用以下设置构建 dmalloc lib
并在链接后运行我的代码,日志文件内容具有未格式化的地址信息到函数名称和行号。
我的测试代码如下。
我使用的 Dmalloc optins 是:DMALLOC_OPTIONS=debug=0x4f4ed03,inter=100,log=logfile
opensuse - openSUSE 中的 dmalloc 在哪里?
哪个 openSUSE rpm 包含 dmalloc?没有存储库有它。尝试从为 SLE 12 找到的 src.rpm 构建它。但是它不包含 libdmalloc* 库。如何做 LD_PRELOAD="libdmalloc.so" ./my_program?还是没有必要?
dmalloc - php7.1RC5 enable dmalloc编译报错
我只是想用 enable-dmalloc 构建 PHP7
环境:
使用了这个命令:
但它失败并出现错误消息:
我在 gdft.c、gdhelper.h 和 php.h 中看到了源代码,找到了这一行:
可能是 dmalloc 导致了这个错误,但我不知道为什么错误 msg show malloc.h,我检查了一下/usr/include
,它有malloc.h
两个dmalloc.h
文件
我安装了包 libdmalloc 和 libdmalloc-dev 并尝试使用源代码重新安装 dmalloc 但它没有帮助
这些是什么原因造成的,我该如何处理?
c - dmalloc 提供返回地址信息显示 `unknown'?
当我想使用 dmalloc-5.5.2 来检查跨平台的内存泄漏时。我包含dmalloc.h
,通过 mips-gcc-4.3 编译它并将其与./libdmalldm.a
. 该应用程序正常工作,最后内存耗尽。但是像这样显示日志:
我认为未知的地方是内存泄漏的地方。但我不知道为什么 dmalloc 不能记录内存分配的文件和行。我阅读了有关 dmalloc 的文档。我发现:
通常,您可以通过 strdup() 或其他例程分配内存,因此列出在 strdup 例程中分配内存的位置的日志文件无助于定位内存泄漏的真正来源 - 调用 strdup 的例程。如果没有跟踪调用堆栈的机制,库就无法查看调用者的调用者(可以这么说)是谁。
但在 dmalloc.h 中,仍然存在:
“未知”信息是否与strdup
. 所以我的问题是为什么 dmalloc 打印“未知”?