Blackbox Component Builder中的运行时调试器(Component Pascal)

时间:2016-11-21 14:57:14

标签: component-pascal

我是BlackBox Component Builder(http://blackboxframework.org/)的新手,我目前正在理解与“标准”编译语言(例如C,Pascal ......)的差异。教程非常有帮助。

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

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

BlackBox在开发策略中有不同的方法:

  

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

     

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

     

让错误尽快显现出来。

     

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

     

这种防御性编程策略在BlackBox的开发过程中一再证明,强烈建议用于认真的开发工作。

请参阅帮助系统的Dev Subsystem用户手册,第5节。

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