我一直在Mac上进行编程,因为我是一个使用THINK C的小孩。我从来没有像使用XCode那样使用调试器。
Mac OS 9 的内核调试器比这更好。是时候放弃了。
GDB在OS X上运行的独立前端是什么?我找到了http://ddd.darwinports.com/,但很难找到它或其他替代品的赞美或轶事。
支持STL容器对我来说是一个很大的优势。我对Objective-C或Apple-any不太关心。
答案 0 :(得分:2)
我倾向于使用valgrind来处理与内存相关的错误; gdb(在一个终端)我想要一个回溯; 并记录+ couts for all else(如果它没有崩溃,并且没有内存损坏,这个bug似乎更容易)。
Admittedtely,不知道如何调试多线程代码。
答案 1 :(得分:1)
您是否尝试过monodevelop?它可以构建和调试C代码,不显示它如何处理obj-c。
如果你可以让DDD工作,我已经在许多奇怪的平台上使用了它,效果很好。 DDD需要X11。
答案 2 :(得分:1)
我和XCode有过相同的经历,最后转向Netbeans和Eclipse(仍然不确定哪一个比我更喜欢哪一个,都有强点和弱点)。
这似乎是一个奇怪的选择,但它们都提供了很好的C ++支持,合理的调试器集成和良好的项目管理选项。我也喜欢重构工具和源版本控制集成。请注意,它们不像Visual Studio 6那样干净整洁。
在这里和其他许多人一样,我不喜欢Objective-C,而且我非常厌倦了为我编写的每个平台学习不同的环境/框架(我每天使用Linux和OSX,偶尔使用Windows)。 Netbeans和Eclipse都是可移植性的一大优势。它们还支持我有时用于较小项目的其他语言(Python会浮现在脑海中)。
答案 3 :(得分:0)
我补充说anon说我最近在SO上发现了这个技巧,它允许更容易的STL调试:
$ cd ~
$ svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
$ cat ~/.gdbinit
python
import sys
sys.path.insert(0, '/home/USERNAME/python/')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
答案 4 :(得分:0)
我刚刚发现cgdb,一个基于诅咒的gdb前端。也许你会想尝试一下,虽然看起来有点过时了。 (Jan'10)