如何在 mac 上 debug C/C++程序

2017-03-16 22:09:30 +08:00
 largek
好像从 Sierra 还是 El Capitan 开始, GDB 在 mac 下就不能用了。
请问大家都是用什么工具为 C/C++程序 debug 呢?
5012 次点击
所在节点    macOS
17 条回复
vansarw
2017-03-16 22:11:21 +08:00
lldb , xcode , clion 都可以
taozhijiangscu
2017-03-16 22:14:27 +08:00
难道不是 xcode?
lcdtyph
2017-03-16 22:34:41 +08:00
mac 可以用 brew 装个 gdb 然后自己签名啊
llvm 家的 lldb 也很好用的
random123
2017-03-16 23:13:17 +08:00
lldb 啊
jmc891205
2017-03-16 23:19:12 +08:00
lldb +1
IgniteWhite
2017-03-16 23:45:27 +08:00
brew 装 gdb 好像可以的。。。
largek
2017-03-16 23:52:41 +08:00
@lcdtyph
@IgniteWhite
我 brew 装了之后,跑 gdb 之后会报如下错误:
During startup program terminated with signal ?, Unknown signal.

该怎么办呀?
largek
2017-03-16 23:54:31 +08:00
@vansarw
@lcdtyph
@random123
@jmc891205

谢谢,我去试试 lldb 。
largek
2017-03-16 23:55:02 +08:00
@taozhijiangscu
xcdoe 。。有道理啊!我一直都是 gcc 。。
sapjax
2017-03-17 00:20:22 +08:00
lcdtyph
2017-03-17 08:09:40 +08:00
@largek 要自签名才能用
largek
2017-03-17 09:31:05 +08:00
@lcdtyph
我按照如下链接中的方式签名了。 http://panks.me/posts/2013/11/install-gdb-on-os-x-mavericks-from-source/

之后我可以运行 gdb ./myprogram 。但是当我 run 的时候会出现 During startup program terminated with signal ?, Unknown signal. 这个错误。
请问你碰到过这个问题嘛?该怎么搞?
largek
2017-03-17 09:31:24 +08:00
@sapjax
微软大法好
Abael
2017-03-17 19:45:03 +08:00
如果程序最终跑在 Linux 服务器上,还是在 Linux 云服务 或装个同系统同软件环境的虚拟机 上 gdb 好。这样开发 /调试 /上线都容易。否则,一旦因环境不同导致复杂问题,追查起来自讨苦吃;
Abael
2017-03-17 19:46:01 +08:00
当然如果你程序本身就跑在 MAC 上,还是用 MAC 那一套
largek
2017-03-18 21:30:17 +08:00
@Abael
好的,明白了,多谢提醒~ 那我还需要安个虚拟机。
其实我在做一个用 C 写的库,而这个库在 ios 和 linux 上都要用,所以你的建议对我很有帮助~
zealinux
2017-03-19 20:05:07 +08:00
亲测可以用 `gdb`

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX