Delphi 7:数据断点警告的实际原因

时间:2016-07-12 12:07:11

标签: delphi delphi-7 breakpoints

在Delphi 7上,我收到了一条警告消息:"在堆栈位置设置数据断点可能会导致程序或系统变得不稳定。无论如何设置断点?"。此消息的简短描述不会解释程序(或系统)可能变得不稳定的原因。它只是说可能会发生。

我想问你一个具体的解释,说明为什么/当程序(或系统)不稳定时。

1 个答案:

答案 0 :(得分:1)

数据断点由对指定位置的内存的写操作触发。根据我所知,检测这些操作,无论是使用硬件断点还是其他技术,都不会导致程序变得不稳定,更不用说整个系统了。

但是在堆栈区域中创建数据断点存在问题。这些问题可能导致调试器行为,这几乎肯定是不可取的,并且可能被认为是“不稳定”,因为断点的数量和频率使得调试器无法使用。

但这是唯一的范围,“系统”或“程序”可以变得不稳定。

错误信息很可能是使用缩写语言,这种语言可能会误导,试图以适合于简短,简洁的错误信息的方式表达这一点,因为实际的,准确的解释更难以解释,也许不太可能被许多开发者所理解。

将数据断点放在堆栈也有可能在Win32之前引起更广泛的系统问题(我不确定,但我可以想象它是可能的 - 程序在Win16下崩溃整个系统肯定更容易;即,此消息是Delphi 1的遗留问题,并且根本没有更新,以反映进程在Win32下享有的更大保护。