Applies To:
  • CitectSCADA 4.20 Service Pack D, 5.00

 


Summary:
A common problem which happens when drivers are written is that developers may incorrectly misuse memory and write off the end of the Driver Control Block (DCB). The Driver Control Block is passed from Citect to the Driver and is allocated from Citect memory address space. If the driver writes off the end of the Driver Control Block it will corrupt Citect memory address space. This will cause the driver to fail and may cause Citect to crash. 

Solution:
A new feature has been introduced to aid in driver debugging. This is to protect the DCB which is passed to the driver, by allocating it from a protected area of memory. If the driver tries to write off the end of the DCB, Citect memory will not be corrupted. This will however cause a exception (GPF) in the driver which will then cause Citect to terminate. This will allow driver developers to find the real cause of the problem. This feature is enabled by the INI setting:

[IOServer]
DCBProtect=1

The default for this new parameter is 0 (disabled). This feature does not degrade performance but should only be used under driver development or debugging.

 

Keywords:
 

Attachments