代码之家  ›  专栏  ›  技术社区  ›  Max Frai

输入命令控制台

  •  0
  • Max Frai  · 技术社区  · 15 年前

    我想为我的应用程序做一些调试控制台。它应该输出一些数据并接受输入命令。我该怎么做?最好的方法是更新控制台,比如:绘图信息和在数据之后提示输入。 我在Linux下开发。例如, GDB 无法从控制台获取输入。

    1 回复  |  直到 12 年前
        1
  •  5
  •   Eldad Mor    15 年前

    如果您熟悉套接字编程(或者实际上是任何其他类型的IPC机制),那么您可能希望在应用程序中启用一些侦听器,并开发一个外部应用程序,在与主应用程序通信时为您完成所有“控制台”工作。

    假设您有一个应用程序有一个按钮和一个文本标签,并且每次按下该按钮,文本标签都会上升1,从1到2到3等等。

    您可以在该应用程序中构建一个套接字侦听器。当套接字侦听器接受新的传入连接时,您将启动一个连接线程,该线程可以:

    1. 接收“关机”命令
    2. 接收“重置计数器”命令
    3. 每次单击时发送有关当前计数的更新
    4. 等。

    然后,您构建另一个外部应用程序,它连接到主应用程序,并根据从用户那里得到的控制台输入向它发送消息。它还将监听传入的更新并向用户显示它们。

    使用外部应用程序进行调试控制您的主应用程序是非常有帮助的,其优点如下:

    1. 无论调试应用程序的错误如何,它都不会损害主应用程序的发布版本。
    2. 处理控制台管理的所有代码(对您的主应用程序来说是多余的)都可以保存在主应用程序之外。
    3. 从中创建两个项目可以使您更容易地与其他人协作,只要您都知道双方之间的协议。
    4. 实现我的建议意味着您可以远程调试您的应用程序,以防您没有访问主应用程序的权限(例如,如果它在客户站点上)。