今天我尝试通过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?
谢谢!
答案 0 :(得分:1)
我尝试通过gdb在Solaris SPARC上调试程序,但它不起作用。
你的问题是质量很差:"没有工作"可能意味着各种各样的东西,并且为什么它不起作用的答案取决于你没有提供的细节。
通常,Solaris上的编译器会在调试器(例如gdb
和dbx
)理解和解释的标准DWARF format中发出调试信息。
但是,有几种版本的格式(当前是版本4),如果您的调试器已经过时但编译器是新的,那么您可能会遇到问题。
您可能遇到问题的其他原因:
DWARF4
信息。CC
中存在一个错误,它会发出错误的DWARF4
信息,gdb
拒绝,但dbx
接受。{/ li>
cc
个STABS
格式,gdb
可能不再支持。 (但不似乎是the case。)