【发布时间】:2022-06-22 07:40:58
【问题描述】:
我有一些由第三方特定领域工具生成的复杂类。这些类很复杂,因为该工具试图尽可能地通用,所以我被要求设计一个 GDB 漂亮的打印机 python 脚本来改善调试体验。
我通过“to_string”API 设计了它,它可以用有组织的富文本(例如颜色)打印信息,到目前为止一切正常。
但是,我不知道如何获取用户请求的输出格式,无论用户使用“p”还是“p/x”都会输出相同的字符串,因为我的脚本不知道用户想要十六进制而不是十进制。
我尝试了谷歌搜索,但没有找到一个优雅的方法。我确实有一些变通办法,但都改变了用法(例如实现两台打印机切换),请给我一些建议,谢谢。
【问题讨论】:
-
我认为不可能得到当前打印命令的输出格式。通常你会使用
childrenAPI 作为值,打印命令会自动为它们使用选择的打印格式。如果这不可能,您可以为此创建一个新的parameter,您可以在漂亮的打印机中使用gdb.parameter 进行查询。 -
谢谢@ssbssa,看来我还是需要更改用法。
标签: gdb gdb-python