本文的作者通过他的一些实际经验向您介绍了 AIX 6 的一个新技术-存储键(或者内存保护存储键)。它可以提高您的程序在内存以及内核扩展使用上的安全性,同时对于开发过程中的跟踪,调试也很有帮助。
我曾经处理过一个真的应该在其中使用存储键的项目,至今我仍然记得其中的情况。当我开发的终端处理程序在测试中心的每个屏幕上输出的全是垃圾信息时,整个 编程团队开始转而向我寻求答案。我的变量全部被破坏,我不得不向代码中添加了大量的健全性检查和变量来尝试捕获出错的软件模块——这花了我一天的时间。然 后,在下一次系统测试中,我发现是数据库代码造成的问题,但他们开始不相信,直到我输出了我的变量的十六进制转储,向他们指出一个数据库记录写入了错误的 位置。这花了一个星期的时间,而编程团队的每个人都认定是我这边编码失误造成的!如果使用存储键,这个问题应该在一个小时之内就解决了。
一直以来的一些老问题
大型应用程序包含很多代码模块,总是存在游离指针和内存意外破坏的问题,但更糟糕的是,在很久之后才发现此类问题,而此时已无从确定破坏发生的地点、时间、程度等。
我曾经处理过一个真的应该在其中使用存储键的项目,至今我仍然记得其中的情况。当我开发的终端处理程序在测试中心的每个屏幕上输出的全是垃圾信息时,整个 编程团队开始转而向我寻求答案。我的变量全部被破坏,我不得不向代码中添加了大量的健全性检查和变量来尝试捕获出错的软件模块——这花了我一天的时间。然 后,在下一次系统测试中,我发现是数据库代码造成的问题,但他们开始不相信,直到我输出了我的变量的十六进制转储,向他们指出一个数据库记录写入了错误的 位置。这花了一个星期的时间,而编程团队的每个人都认定是我这边编码失误造成的!如果使用存储键,这个问题应该在一个小时之内就解决了。
本文转自:IBM developerWorks 中国
请点击此处查看全文http://ibm.youkuaiyun.com/ISN_J.aspx?action=JMP&pointid=2501