现在的位置: 首页 > 操作系统 > 正文

Linux编程之给你的程序开后门

2020年02月10日 操作系统 ⁄ 共 801字 ⁄ 字号 评论关闭

这里说的“后门”并不是教你做坏事,而是让你做好事,搭建自己的调试工具更好地进行调试开发。我们都知道,当程序发生异常错误时,我们需要定位到错误,有时我们还想,我们在不修改程序的前提下,就能通过log来定位错误呢?有人会说,我在我的程序里加多点打印就好了,程序每做一步我就加一行打印,到时一查log就知道程序在哪一步死掉的了。这个方法在小程序里也许会行得通,但是,在一个大型系统,每秒的log达到几百条,那时我们怎么能在这繁多的log里找出我们想要的那条的log的?这工作量大得夸张。工程中的解决方法就是给自己的程序开个后门专门给开发人员来调试程序。

我在上篇文章:《Linux编程之定制带级别的log》里介绍了如何自定义自己的带级别log,我们就可以在我们后门程序里修改log 的level,从而使得log的级别发生改变,而无需重新修改程序。比如我们初始化我们的log级别是FATAL,那么此时只会打印出FATAL的信息,但是有一次程序发生了错误,但是我们无法从FATAL的log里看出问题,那我们通过后台修改log的级别为ALARM,我们通过ALARM的log查出了程序错误的原因。当然我们通过后门能做的不仅仅是这些,具体来说,后门就是我们程序眼和跑着的程序交流的一道门。

搭建这么一个程序后门主要有这么几个关键点:

在进程里开一个线程用于充当debug center该线程通过fifo接收开发人员传给它的命令解析这些命令用脚本搭建简单的命令行界面

一、创建debug center线程

这个就没什么好说了,我使用了上篇文章《Linux编程之自定义消息队列》所搭建的消息队列框架,将其中的msg_sender1改造为debug_center线程,作为我们的程序后门,我们跟程序交互就是从这里开始的。

以上就上有关Linux编程之给你的程序开后门的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。

抱歉!评论已关闭.