我想为我的应用程序制作一些调试控制台。它应该输出一些数据并接受输入命令。我怎样才能做到这一点?最好的方法是更新控制台,如:绘制信息并在数据后提示输入。 我在 Linux 下开发。例如,gdb 可以从控制台获取输入。
最佳答案
如果您熟悉套接字编程(或者实际上,任何其他类型的 IPC 机制),您可能希望在您的应用程序中启用一些监听器,并开发一个将为您执行所有“控制台”操作的外部应用程序,同时与主应用程序通信。
假设您有一个应用程序,它只有一个按钮和一个文本标签,每次您按下该按钮时,文本标签都会增加 1,从 1 到 2 再到 3,依此类推。
您可以在该应用程序中构建套接字监听器。当套接字监听器接受新的传入连接时,您将启动一个连接线程,该线程可以:
- 收到“关机”指令
- 接收“重置计数器”命令
- 发送有关每次点击的当前计数的更新
- 等等
然后您构建另一个外部应用程序,它连接到主应用程序,并根据从用户那里获得的控制台输入向它发送消息。它还会收听传入的更新并将它们显示给用户。
使用外部应用程序调试控制您的主应用程序非常有帮助,以下是一些优点:
- 无论调试应用程序有多么错误,都不会影响主应用程序的发布版本。
- 所有处理控制台管理的代码(对您的主应用程序而言是多余的)都可以保留在主应用程序之外。
- 从中制作两个项目可以更轻松地与其他人协作您的工作,只要你们都知道双方之间的协议(protocol)。
- 实现我的建议意味着您可以远程调试您的应用程序,以防您无法访问主应用程序(例如,如果它位于客户站点上)。
关于c++ - 输入命令的控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226405/