首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过LLDB调试OSX应用程序的发布版本

通过LLDB调试OSX应用程序的发布版本
EN

Stack Overflow用户
提问于 2020-04-24 01:10:28
回答 2查看 982关注 0票数 1

我正在尝试通过LLDB调试OSX桌面应用程序(Mac os catalina 10.15.3)。

代码语言:javascript
复制
lldb path/to/Electron.app
>>> Current executable set to 'path/to/Electron.app' (x86_64).

之后,我可以成功地将断点添加到调试器中,但当我尝试使用runprocess launch运行应用程序时,它总是给我:

error: process exited with status -1 (Error 1)

另一个问题是连接到pid。它给了我一个错误,不能附加到进程。

代码语言:javascript
复制
lldb -p 41324
>>> error: attach failed: Error 1

为什么我不能在调试器中反汇编程序?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-24 21:29:24

我只是找到了调试的方法,并且不会限制任何root可访问性……这是关于苹果的系统完整性保护https://support.apple.com/en-us/HT204899

如果您愿意禁用系统完整性保护,只需小心,并知道您在做什么。

本文介绍了如何禁用系统完整性保护https://gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d

票数 0
EN

Stack Overflow用户

发布于 2020-04-24 02:12:54

在macOS上,只有当进程将自己标记为愿意被调试时,调试器才能附加到该进程。Xcode通常构建具有此权限的Debug构建,而不使用此权限的发布构建。当lldb试图附加到一个不想被调试的进程时,这是您看到的错误。这是一个低信息错误,因为拒绝附加的代理与lldb隔离,无法给我们提供更多信息。

但是,请注意,您不需要运行程序来反汇编它。反汇编命令在加载二进制文件以及调试二进制文件时也有效。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61393040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档