我每天在 Solaris10 上进行 C++ 开发的 TDD。它大大减少了我必须花费在使用调试器上的时间,但有时这是唯一的选择。
DBX 非常强大,但不是那么用户友好。请注意,我说的是控制台 DBX,而不是 DBX 的 SunStudio GUI)。
您可以为 dbx C++ 调试提供哪些最佳生产力提示?
PS。更改调试器不是一种选择。
我已经为一些与 dbx 相关的站点添加了书签。它们在这里,没有特别的顺序,以防它们对您有用:
2012 年 7 月 19 日编辑:自从 Chris Quenelle 的博客移动后,我尝试修复几个链接。由于回程机器,某些文章仍然可以访问。
dbx 的强大功能之一是内置的 ksh。您可以编写复杂的 shell 函数,以打印数据结构的自定义视图,或遵循特定路径中的指针。shell 是 pdksh 的旧变体,因此它不是最好的编程语言,但它比没有任何内置语言要好得多。命令行也提供了广泛的帮助。搜索帮助的一个技巧是在 dbx 命令 shell 中使用“vi $helpfile”。将原始帮助文件数据编辑到一个大文件中。您可以在 dbx 附带的默认加载的 dbxrc 文件中看到一些 shell 函数示例。通过查看 libumem 集成模块,您可以看到更复杂的示例。你可以在这里找到它:
http://quenelle.org/sun%20tech/2007/using-dbx-and-libumem.html
我也必须在工作中使用 dbx 并理解您的挫败感!
我发现了一些让我的生活更轻松的小窍门:
使用这样的内置命令系统:when stop { print whatever ; 显然,当超出范围
时不起作用,但我发现它足够有用。我还没有对“跟踪”设施 YMMV 感到高兴。
制作您自己的 .dbxrc 文件会使生活变得更加轻松,“路径图”功能也是如此。
最后,这只有在您已经知道的情况下才明显,但请尝试Sun 的手册。
写得不是特别好,但仍是必读之物。