2008-10-20 83 views
3

我每天都在为Solaris 10上的C++开发做TDD。它大大减少了我必须花费我的调试器的时间,但有时这是唯一的选择。如何从dbx获得尽可能多的数据

DBX功能非常强大,但不是用户友好的。请注意,我正在讨论控制台DBX,而不是DBX的SunStudio GUI)。

什么是您可以为dbx C++调试提供的最佳生产力提示?

PS。更改调试器不是一个选项。

回答

8

我已经收藏了几个与dbx相关的网站。在这里,他们是在没有特定的顺序的情况下,他们可能对你有用:

于2012年7月19日编辑:我试图解决一些联系,因为克里斯Quenelle的博客已移动。有些文章仍然可以通过wayback机器访问。

1

我也是在工作中使用dbx并理解您的挫败感!

的一些技巧我发现它让我的生活变得更轻松:

使用内置命令系统是这样的:当 停止{打印任何; }
不管超出范围时显然不工作,但我觉得它非常有用。 YMMV“追踪”设施还没有太多的喜悦。

制作自己的.dbxrc文件使生活变得更容易,就像“路径图”功能一样。

最后,这只有在你已经知道的情况下才会显而易见,但请尝试Sun's manual

这是不是特别好写,但仍然是一个重要的阅读。

1

dbx的一个强大功能是内置ksh。您可以编写与您可能想要打印数据结构的自定义视图一样复杂的shell函数,或者遵循特定路由中的指针。 shell是pdksh的一个旧版本,因此它不是编程的最佳选择,但它比不使用任何内置语言要好。从命令行也可以获得广泛的帮助。搜索帮助的一个技巧是使用dbx命令shell中的“vi $ helpfile”。在一个大文件中编辑原始帮助文件数据。您可以在dbx附带的dbxrc文件中看到一些shell函数的示例,并且默认情况下会加载该函数。您可以通过查看libumem集成模块来查看更复杂的示例。你可以在这里找到它:

http://blogs.oracle.com/quenelle/entry/using_dbx_and_libumem_to