什么时候程序只能由dbx调试,而不是gdb?

时间:2014-06-07 03:45:43

标签: gdb dbx

今天我尝试通过gdb在Solaris SPARC上调试程序,但它不起作用。我被要求使用dbx,然后我设法调试程序。

我的问题:

1. When can a program be only debugged by dbx, not gdb?   
2. When do we need to use gdb, not dbx?   
3. Does it depend on the compiler that compiled the code?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我尝试通过gdb在Solaris SPARC上调试程序,但它不起作用。

你的问题是质量很差:"没有工作"可能意味着各种各样的东西,并且为什么它不起作用的答案取决于你没有提供的细节。

通常,Solaris上的编译器会在调试器(例如gdbdbx)理解和解释的标准DWARF format中发出调试信息。

但是,有几种版本的格式(当前是版本4),如果您的调试器已经过时但编译器是新的,那么您可能会遇到问题。

您可能遇到问题的其他原因:

  • 您错误地调用了GDB
  • GDB中存在一个错误,它无法处理某些合法DWARF4信息。
  • Sun CC中存在一个错误,它会发出错误的DWARF4信息,gdb拒绝,但dbx接受。{/ li>
  • 较早ccSTABS格式,gdb可能不再支持。 (但似乎是the case。)