mac安装gdb,lldb遇到的若干问题

say_leo · · 1180 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天折腾了下 Golang的调试工具gdb和lldb, 遇到了一些问题, 在这里记录下方便以后查找,也给遇到的小伙伴门一些参考。(只针对macOS系统)

生成证书报错

mac 创建证书 未知错误 = -2147414007

可以先生成一个登陆证书,然后将证书移动到系统那一类就行了

gdb 安装

gdb调试报错

Unable to find Mach task port for process-id 23330: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

如果是 Mojave (10.14) 之前的系统

codesign -fs gdb-cert $(which gdb)  #gdb-cert为证书名

如果是 Mojave (10.14) 之后的系统,先创建一个文件 gdb-entitlement.xml,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.debugger</key>
    <true/>
</dict>
</plist>
</pre>

然后执行

codesign --entitlements gdb-entitlement.xml -fs gdb-cert $(which gdb)

gdb, lldb加断点报错

lldb 加断点报错

WARNING: Unable to resolve breakpoint to any actual locations.

gdb加断点报错

No symbol table is loaded. Use the "file" command.

打包时加上 -ldflags=-compressdwarf=false

参考资料:
https://stackoverflow.com/questions/52534287/debug-go-program-with-gdb-on-macos

https://sourceware.org/gdb/wiki/PermissionsDarwin


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:say_leo

查看原文:mac安装gdb,lldb遇到的若干问题

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1180 次点击  ∙  1 赞  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传