Blackbox组件生成器(Component Pascal)中的运行时调试器

2020年8月22日 18点热度 0条评论 来源: Thiago Rangel

我是BlackBox组件生成器(http://blackboxframework.org/)的新手,我目前正在理解与“标准”编译语言(例如C,Pascal)差异的过程。 )。教程非常有帮助。Blackbox组件生成器(Component Pascal)中的运行时调试器

我有一个问题是运行时调试器的存在(或不存在)。我发现断点对追踪错误和开发代码非常有用。但是,我找不到如何在BlackBox组件生成器中设置断点。事实上,我甚至不知道这是否可能。

BlackBox Component Builder中是否存在运行时调试器? 是否可以在代码执行中设置断点?

在此先感谢!

===========解决方案如下:

黑匣子在发展战略不同的方法:

黑盒调试器是一个“事后”调试器和“运行时”调试器之间的交叉。它在命令陷入后(死后)被调用,但它不会导致BlackBox环境(运行时)的终止。一些功能,例如Info-> View State命令,可以从所选视图开始跟踪数据结构,通常只与运行时调试器相关联。

面向对象程序的典型情况是,它们的控制流可能会变得非常复杂且难以遵循。因此,在语句(单步)的程序语句之后,通过消息发送或过程调用在实践中对于调试大型系统来说是不切实际的。相反,BlackBox使用更有效的调试策略:

让错误尽快显现。

而不是等待发生某种错误,然后试图找回错误原因的方式,试图将错误标记为尽可能接近其原因。这是真正节省调试时间的唯一方法。语言实现遵循相同的策略,通过在访问数组时检查索引溢出,在取消引用指针等时检查NIL访问等。除了这些内置检查,Component Pascal还提供了标准过程ASSERT,它允许测试任意条件。如果违反条件,则会打开陷阱窗口。 BlackBox Component Framework的程序因此使用断言,例如在程序开始时检查其输入是否有效。这可以防止非法输入的程序可能对系统的其他部分造成任何损害。

这个防御性编程策略在BlackBox的开发过程中一次又一次地证明了自己,并强烈建议进行严肃的开发工作。

参考开发子系统的用户手册从帮助系统,第5

陷阱窗口如下所示: BlackBox trap window for ObxTrap

    原文作者:Thiago Rangel
    原文地址: https://stackoverflow.com/q/40723071
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。