问题标签 [bounds-checker]

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.

0 投票
8 回答
3123 浏览

c++ - 虚拟析构函数是如何工作的?

几个小时前,我一直在摆弄一个内存泄漏问题,结果我真的弄错了一些关于虚拟析构函数的基本知识!让我解释一下我的班级设计。

边界检查器工具报告了派生类向量中的内存泄漏。而且我发现析构函数不是虚拟的,并且没有调用派生类析构函数。当我将析构函数设为虚拟时,它出人意料地得到了修复。即使没有调用派生类析构函数,向量是否也不会自动释放?这是 BoundsChecker 工具中的一个怪癖还是我对虚拟析构函数的理解是错误的?

0 投票
1 回答
302 浏览

c++ - 无法使用 BoundsChecker 检测内存问题

最近我们观察到我们的应用服务器内存随着一些客户端 API 的增加而增加,最终导致崩溃。

所以我们尝试使用boundschecker,它显示没有内存泄漏并随着内存的增加而导致崩溃(私有字节正在增加)。在 MS(sysinternals)的 Process Explore 中验证。

那么有什么方法可以获取如何按顺序分配内存(函数调用)或按顺序分配句柄。所以我们可以得到内存在这个位置增加。

我们想要捕获来自所有线程的所有函数调用。我们也不能修改太多代码,因为它有数千行代码。

0 投票
1 回答
1160 浏览

visual-c++ - DevPartner BoundsChecker 破坏了我的程序

我正在开发一个我怀疑有一个或多个内存泄漏的程序。Stack Overflow 上的其他一些答案告诉我尝试 DevPartner BoundsChecker(我尝试过的许多其他人之一)。

现在,当我在运行 BoundsChecker 的情况下运行程序时,它会中断。在某些时候,将启动一个 Windows 文件打开对话框,并且在实际发生之前,会触发一个不可继续的断点。这只发生在 BoundsChecker 运行时。

根据控制台输出,程序尝试做的最后一件事是加载C:\Windows\SysWOW64\slc.dllDevPartner 识别为“Microsoft Software Licensing Client Dll”的文件。由于我们在该特定程序中不使用任何软件许可,因此这必须以某种方式与应该打开的对话窗口相关。

无论如何,我真的很想找到那些内存泄漏,为此,我需要打开那个文件。是否有可能告诉 BoundsChecker 不要因为这个问题而破坏我的程序(无论那个问题可能是什么)?

0 投票
3 回答
1463 浏览

wpf - WPF 3D:检查一个多维数据集是否可以完全包含另一个多维数据集

我正在研究 3D 中的拖放。我已经创建了带有墙壁(立方体)的 3D 空间(房间),这些墙壁(立方体)充当被丢弃的物体(假设是一个较小的立方体)的占位符。

我该如何弄清楚:

如果用户将对象放在房间的边缘,那么房间是否可以完全包含该对象?

意思是,我不希望物体部分在房间里,部分在外面。理想情况下,我会取消放置操作/将其移动到一个点,以便房间安全地包含该对象。

我有房间和对象的边界(ModelVisual3D.Content.Bounds)以及对象被丢弃的点。

我想我必须做一些数学运算才能确定对象是否放置在该点,然后它将完全在边界房间内。

想法/想法/指针表示赞赏。

0 投票
2 回答
7893 浏览

c++ - GCC STL 边界检查

如何启用边界检查operator[]和迭代器?

0 投票
3 回答
647 浏览

c - 可变长度数组 (VLA) 的边界检查?

有没有办法检查 VLA 中的缓冲区溢出?我使用了 -fstack-protector-all -Wstack-protector但收到以下警告:

警告:不保护局部变量:可变长度缓冲区

是否有实现此目的的库?(-lefence 用于堆内存)

我目前正在使用 Valgrind 和 gdb。

0 投票
2 回答
1194 浏览

c++ - 任何程序都会检测到 C/C++ 结构中的缓冲区溢出吗?

考虑以下程序:

(借自Is it legal to overrun a struct of a element to view another?

BoundsChecker不会将此检测为溢出。是否有任何程序可以检测到这种类型的编程错误?

0 投票
2 回答
834 浏览

c - fbounds 检查不起作用,有什么替代品吗?

我试图让 fbounds 检查工作,但我没有成功。我收到以下错误:

/tmp/cczxKZzn.s:汇编程序消息:

/tmp/cczxKZzn.s:48:错误:“push”的指令后缀无效

/tmp/cc9xD8T3.s:125:错误:“pop”的指令后缀无效

虽然我的makefile看起来像这样(使用简单的makefile,一切都在正确编译):

由于该代码与汇编程序无关,我不知道该怎么做。汇编器问题是我在谷歌搜索该主题时唯一能看到的问题。


您能否提出其他解决方案,例如检查是否位于数组之外?如(这是我的error.c):


编辑。会不会是版本不兼容?已安装 gcc 4.4+ 并且我正在使用经过一点修改的 gcc 4.0.2 的路径来执行此操作?

0 投票
1 回答
189 浏览

c - 旋风是否对胖指针执行静态或动态检查?

我正在通过Cyclone: A Safe Dialect of C for a PL class 工作。该论文的作者解释说,他们添加了一个特殊的“胖”指针,用于存储边界信息以防止缓冲区溢出。但是他们没有指定对这个指针的检查是静态的还是动态的。他们给出的例子似乎暗示程序员必须记住检查数组的大小,以检查它们是否不超过缓冲区。这似乎打开了编程错误的可能性,就像在 C 中一样。我认为 Cyclone 的整个想法是使此类错误成为不可能。语言有检查吗?是否只会让编程错误变得更难?

0 投票
2 回答
989 浏览

memory - 使用 boundsChecker 检测内存泄漏

我正在使用 boundsChecker 检测我的源代码以进行内存检测,但是当我使用本机 c/c++ 检测管理器的错误检测类型检测构建它时,我遇到了构建错误。当我看到输出窗口时,它显示 NM2002: Inline expansion (/Ob) used during instrumentation this error..

但是当我选择仪器类型作为性能或覆盖分析时,源正在成功构建,但是当我运行测试用例检查内存泄漏时,它没有显示任何内存泄漏..有人可以帮我解决这个问题...还请建议我哪种类型的我应该使用仪器来检测内存泄漏..