主要是说,在Ubuntu14.04 64bit的操作系统上,配置Qt的gdb和gcc的时候,在Qt build&run选项中,debugger中选中arm-linux-gnuabihf-gdb出现了32bit不兼容的情况,于是无法远程调试debug,只能运行。后来在Stack Overflow中找到gdb-multiarch,字面上理解好像是支持多个架构!然后尝试用apt-get install gdb-multiarch,然后居然成功了,在/usr/bin/路径下有了gdb-multiarch,设置过后能够正常识别,然后在Qt中可以实现断点调试了。
arm-linux-gnueabihf-gdb versus gdb-multiarch
4
|
I'm trying to perform cross platform remote debugging from my x86 computer to a remote ARM device. (ex: Beagle Bone Black) I'm using Ubuntu 14.04 and Eclipse CDT. I installed the package gcc-arm-linux-gnueabihf but the gdb debugger is not in that package. (http://packages.ubuntu.com/precise/gcc-arm-linux-gnueabihf) Therefore, I'm wondering if I should use the Linaro toolchain (which include arm-linux-gnueabihf-gdb) or if I should install the gdb-multiarch package. What is the difference between gdb-multiarch and arm-linux-gnueabihf-gdb ? Is it better to use gdb-multiarch ?
|
2
|
I received an answer from the linaro mailing list: For Ubuntu hosts from 12.04 onwards, gdb-multiarch is used as gdb client for debugging. As name indicates it is a common client to any architecture and not restricted to ARM. Generally, all gdb clients are architecture independent because architecture specific part is handled in gdbserver itself. So, other than the name arm-linux-gnueabihf-gdb, I am guessing it is same as gdb-multiarch. |
1
|
I received another answer from the linaro mailing list: The Linaro gdb release will generally be more up to date than the Ubuntu one. For example our latest release is 7.8, and that is only available in utopic, not trusty so if you plan to use an Ubuntu LTS release it might be better to use the Linaro shipped gdb. Linaro gdb also contains fixes and improvements that aren't in the upstream stable branch. Historically Ubuntu has often picked these changes up too but that may not always be the case. gdb-multiarch obviously supports a range of other architectures besides ARM, so if that is something that would be useful for you then it might make sense to use that. |