首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GDB中注册一个漂亮的打印机有什么帮助?

在GDB中注册一个漂亮的打印机有什么帮助?
EN

Stack Overflow用户
提问于 2016-08-05 23:50:05
回答 2查看 548关注 0票数 0

我试着注册一台漂亮的打印机。当我在gdb命令提示符下输入"info pretty-printer“时,它就会显示出来。但是这有什么用呢?在注册一台漂亮的打印机之前,我必须做我所做的一切。例如,在注册之前,如果我获取了漂亮的打印机,然后使用"command-name expr“调用了调用方法,那么在注册之后我仍然会做同样的事情。注册给我漂亮的打印机带来了什么价值。

EN

回答 2

Stack Overflow用户

发布于 2016-08-06 03:38:05

如果你的漂亮打印机有一个相关的查找函数,gdb print命令就可以调用你的漂亮打印机,而不需要显式地调用你的漂亮打印机提供的命令。This page包含一个示例,它使用gdb.printing模块通过gdb.printing.RegexpCollectionPrettyPrinter将两个漂亮的打印机与两个正则表达式关联起来。也许您还可以通过搜索gdb.pretty_printers的内容找到本机示例;我的示例包括一个libstdcxx.v6.printers.Printer对象和一个gdb.printing.RegexpCollectionPrettyPrinter对象;在我的系统中,前者是用/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py定义的。

票数 0
EN

Stack Overflow用户

发布于 2016-08-06 22:49:13

在注册之前,如果我获取了漂亮的打印机,然后使用"command-name expr“调用了invoke方法,那么在注册之后我仍然会做同样的事情。

从这句话中,听起来你把命令和漂亮的打印机搞混了。命令实现有一个invoke方法。漂亮的打印机就不会。此外,命令是从gdb命令行调用的,比如(gdb) command-name,而只有在打印一个值时,比如通过print mumble (或者在其他时候,比如在回溯期间打印参数的值时),才会调用漂亮的打印机。

将您的命令注册为一个漂亮的打印机是没有用的,而且可能只会偶尔导致打印Python异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38793246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档