- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到很多答案,比如 this , 和 this网上说要用otool
命令检查 stack_chk_guard
和 stack_chk_fail
在项目上。
问题是,我不知道 otool 必须应用到哪个文件。在 source , 他们这样说 otool
将应用于扩展名为 .a
的文件,这是一个图书馆。但是我不知道如何将其应用于我想检查整个项目而不仅仅是库的情况。我试图用 .a
在我的项目中找到任何文件扩展名,我没有找到。我试过运行 otool
反对 .app
, .framework
, .xcarchive
, 和 .ipa
,都失败了。
有人可以帮忙吗?如有需要请详细说明,因为我从不使用otool
之前,互联网上的文档在描述可以由 otool
检查的文件时根本没有帮助。 .
最佳答案
经过一番搜索之后,我发现您应该提供给 otool 的文件位于 .app
目录中。是的,.app
是一个目录,而不是一个文件。
所以这是如何做到的:
.app
文件。 .app
名称。 .app
文件,选择“在查找器中显示”。 cd
然后将 .app
目录拖到终端。它将填充路径。 otool -Iv Your_App_Binary_Name | grep stack
Your_App_Binary_Name
位可能会让你感到困惑,但不要如此。请注意您的
.app
目录的名称。例如,如果目录是
MyApp.app
,那么你的二进制文件应该是
MyApp
没有扩展名,在
MyApp.app
目录内。如果您使用 finder 看到该文件(右键单击
.app
并选择“显示包内容”),您将看到二进制文件的类型是 UNIX 可执行文件。
My\ Holy\ App.app
,应用二进制文件是
My\ Holy\ App
)
$ cd ......./Build/Products/Debug-iphoneos/MyApp.app
$ otool -Iv MyApp | grep stack
0x00000001000c17bc 19966 ___stack_chk_fail
0x00000001000d8268 19967 ___stack_chk_guard
0x00000001000d8d18 19966 ___stack_chk_fail
$ cd ......./Build/Products/Debug-iphoneos/My\ Holy\ App.app
$ otool -Iv My\ Holy\ App | grep stack
0x00000001000c17bc 19966 ___stack_chk_fail
0x00000001000d8268 19967 ___stack_chk_guard
0x00000001000d8d18 19966 ___stack_chk_fail
关于xcode - 如何使用otool检查是否启用了Stack Smashing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51852549/
我在使用 C++ 编译的库文件时遇到一些问题,所以我使用 otool 命令行实用程序(在 OSX 上)查看它链接的文件。 这是输出: ! otool -L pyopenvdb.so pyopenvdb
我在 Mac 操作系统上有两个文件。一个 Mach-O 可执行文件 i386 和一个数据(我的 Finder 中的相同执行图标)。 当我第一次执行 otool -tV 命令时,我打印了我的汇编代码。但
如果我在 iOS .ipa 文件的主可执行文件上运行 otool -L ...,我会看到以下输出: /系统/库/框架/CoreFoundation.framework/CoreFoundation /
我有一个 Cocoa 应用程序,它使用 otool 来查找应用程序正常运行所需的共享库。例如,假设我在使用 QTKit.framework 的应用程序上运行 otool -L。我得到了程序使用的共享库
我正在浏览一些各种编程/调试教程,并在终端中使用“otool”命令。一个示例是检查共享库。错误始终是两者之一。我从文件所在的目录运行它。仅输入 otool 即可给出 otool“-x”开关的列表。我查
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
“otool”显示的方法的实现地址不断得到 1 个字节的偏移量。 例如 'otool -o' 给出 0xe99d5 但 'otool -tvV' 给出: +[NSError(SomeCategory)
当我尝试使用 otool 反汇编现有的 iOS 应用程序(不是应用程序商店的应用程序)时,它不会分成不同的方法。这只是一个巨大的部分。这是我正在使用的命令: otool -tV theApp.app/
嗨,最近我为我的公司写了一个应用程序,但后来我发现了这个工具 - otool。所以我尝试用 otool 检查我的应用程序并发现以下内容: cmd LC_ENCRYPTION_INFO c
我可以在我的文件系统中找到该工具命令: /Applications/Xcode.app/Contents/Developer/usr/bin/otool 如果我指定整个路径, otool 将起作用。
我遇到了与此 question 中相同的问题. 该解决方案没有讨论如何使用 nm、strings 或 otool 来搜索有问题的代码。 假设违规代码使用 AdSupport.framework 中的
我使用 Xcode 和 Qt 完成了我的 mac 应用程序。现在我想准备它部署到其他 mac。为此,我使用了 macdeployqt。 我刚刚使用 macdeployqt 创建了一个应用程序包。但是缺
我已经使用 cMake 为 ARM7 构建了一些静态库。 通常,当您对 .a 文件使用 next 命令时,它会显示架构: 例如 mac:libs User$ file ./libcurl.a ./li
我正在使用最新版本的 Xcode 4 开发 Cocoa 应用程序,我想将动态库链接到我的项目 ( dylibs )。 我在某处读到,在我的项目中添加库是不够的,因为我必须运行 install_name
我正在尝试在 mac 上构建/运行/部署一个 qt 应用程序。除了其他依赖项之外,它还有一个我放在 lib 文件夹中的 sdk... 并在 pro 文件中设置路径。该应用构建良好,但我无法执行它。 运
我是一名优秀的程序员,十分优秀!