标签: dsymutil

这些Dsymutil警告在XCode 4.5中意味着什么?

我正在连接iOS的静态框架和armv7 ios 6应用程序,我怀疑原始二进制文件来自XCode 3.x并使用GCC编译,我现在使用CLang编译器链接它.我没有框架的源代码,只有二进制文件:

(null): warning: (armv7) /.../DerivedData/.../armv7/HardwareObjectFile.o unable to open object file
Run Code Online (Sandbox Code Playgroud)

我得到69个警告,如上所述,每个.o文件链接到静态框架.

这个警告是否因任何原因而严重?我已经简化了巨大的路径,这似乎表明库中的二进制文件已经硬编码了"/ Users/somedeveloperthatisntme"中的路径,这条路径几乎无法帮助但不存在,因为我在不连接的计算机上使用此库有一个名为"Users/somedeveloperthatisntme"的文件夹.

Dsymutil似乎是一个"操作存档的DWARF调试符号文件"的工具,虽然我完全不知道它是什么以及它做了什么,尽管Apple提供了全面的文档,它告诉我什么,但从来没有,为什么.它在做什么,这个警告对我意味着什么?我怀疑我需要一个来自供应商的新库/静态框架来清除它?

更新:我无法解决这个问题,看起来原因是由非常旧的XCODE版本编译的非常旧的二进制文件,作为移动框架的一部分从第三方供应商提供.在这种情况下的问题将通过让供应商重建他们的库来解决,我要求他们这样做,因为这些警告让我疯狂,但他们似乎无法做到.最后,我抛弃了他们的技术并用其他东西取而代之.(GRIN)

xcode ios dsymutil xcode4.5

13
推荐指数
3
解决办法
8583
查看次数

GenerateDSYMFile:dsymutil失败,退出代码为11

我今天早上从MacOS X 10.6(Snow Leopard)升级到10.7(Lion),从Xcode 4.2升级到Xcode 4.3.2.也许更重要的是,这意味着我现在正在构建针对iOS 5.1 SDK而不是5.0的项目.这是很多变化,其中一个导致我的项目中断:由于以下错误,项目将不再构建:

Command /Applications/Xcode.app/Contents/Developer/usr/bin/dsymutil
failed with exit code 11
Run Code Online (Sandbox Code Playgroud)

构建结果中给出的完整命令如下(完全公开:我已将项目名称更改为"MyProject"以保护无辜者):

GenerateDSYMFile /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app.dSYM /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app/MyProject
    cd /Users/caleb/MyProject/iphone
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/usr/bin/dsymutil /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app/MyProject -o /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app.dSYM
Run Code Online (Sandbox Code Playgroud)

这只有在我尝试为iOS设备构建时才会发生; 为模拟器建造工作正常.

我已经做了很多搜索来找到这个错误的解释,但还没有找到解释错误的任何东西.我找到了一个关于同一错误的SO问题,在这种情况下由Info.plist文件中的错误标记引起,但我的Info.plist看起来很好.另一个问题建议创建一个新目标并复制一切.我还没有尝试过,因为我的项目非常庞大,但它看起来是最好的下一步.

任何人都可以告诉我什么"退出代码11"从dsymutil手段和如何解决它?

更新:dsymutil在命令行运行命令显示退出代码11是分段错误.但是仍然不知道是什么原因造成的.

xcode objective-c ios dsymutil

11
推荐指数
2
解决办法
1万
查看次数

Apples GCC在哪里/如何将DWARF存储在可执行文件中

Apple GCC在哪里/如何将DWARF存储在可执行文件中?

我编译了一个二进制文件gcc -gdwarf-2(Apples GCC).但是,既没有objdump -g也objdump -h没有向我显示任何调试信息.

libbfd也找不到任何调试信息.(我在binutils-mailinglist上问过这个问题.)

然而,我能够通过dsymutil(进入dSYM)提取调试信息.libbfd也可以读取那些调试信息.

macos gcc objdump dwarf dsymutil

11
推荐指数
1
解决办法
5462
查看次数

Dsymutil 警告“可执行文件中没有调试符号”

我正在努力通过尽可能多地修复导致警告的问题来消除 Xcode 中 iOS 程序的警告。值得庆幸的是,我在这方面取得了很大的成功,但是我有两个警告拒绝消失:我收到了“Dsymutil 警告”的报告,相关日志说它在尝试生成 .dSYM 文件时报告。这两个警告是:

警告:可执行文件中没有调试符号(-arch armv7)

警告:可执行文件中没有调试符号(-arch arm64)

我可以通过清理和清理构建文件夹来消除这些警告。但是,当我再次编译时,它们只会再次出现。

相关统计:

测试手机:iPhone 5s、iPhone SE

操作系统:iOS 10.3.2

开发环境:Xcode 8.3.2

仅构建活动架构:否

有谁知道为什么我会收到这些警告,他们有什么可担心的吗?我并没有真正通过 Google 或 Apple 的文档找到任何特别相关的内容。

预先感谢任何人可以提供的任何帮助。

iphone ios dsymutil xcode8

5
推荐指数
1
解决办法
2929
查看次数

Xcode:“可执行文件中没有调试符号”,用于使用部署后处理重复发布构建

问题

当我在 Xcode 中重复构建版本时,生成的 dSYM 完全为空,因此调试器无法显示任何内容。

我已经能够用Xcode 11.3.1中的最小项目重现此内容,如下所示:

  • 文件 -> 新项目(macOS、应用程序、Objective-C)
  • 在目标的构建设置中:
    • DEPLOYMENT_POSTPROCESSING将for设置Release为YES
  • 产品->方案->编辑方案
    • 设置Build Configuration​Release
  • 产品 -> 构建
  • 更改未编译为二进制文件的文件(例如更改中的版权声明)Info.plist
  • 产品 -> 构建

现在, GenerateDSYMFile步骤中的构建日志中有一条警告

warning: no debug symbols in executable (-arch x86_64)
Run Code Online (Sandbox Code Playgroud)

如果运行生成的应用程序,将不会有调试信息(您无法在 Xcode 中设置断点,如果您手动中断堆栈帧将只是___lldb_unnamed_symbol,...)

到目前为止我发现了什么

Xcode 构建过程的相关部分似乎是:

  1. 链接目标文件以形成二进制文件(仅当至少其中一个已更改时)
  2. 从二进制生成 dSYM 文件(如果输出中的任何内容发生更改)
  3. 剥离二进制文件,即删除调试符号(如果输出中的任何内容发生变化)

因此,1) 在重复构建中被跳过,因为源(以及目标文件)没有改变。2) 被执行,因为Info.plist已更改,但它对已被先前构建剥离的二进制文件进行操作。因此,dSYM 为空。

看起来 2) 应该只在与 1) 相同的条件下重新运行,但这些依赖项似乎在 Xcode 中是硬连线的......

有什么办法可以解决这个问题吗?

xcode xcodebuild dsymutil dsym

5
推荐指数
0
解决办法
1221
查看次数

如何修复 Xamarin 中的 dsymutil

我正在尝试在真实设备上构建 iOS 应用程序,但不幸的是我遇到了

dsymutil exited with code 1
Run Code Online (Sandbox Code Playgroud)

我所做的事情:

  • 我确实搜索了谷歌,但它说我的硬盘已满,但事实并非如此。

  • 我确实多次尝试清理和构建 - 没有成功

  • 我确实尝试使用命令重新安装 CommandTools xcode-select --install- 没有成功

  • 我确实删除了 CommandTools,然后重新安装 - 没有成功

仅供参考

  • 我正在使用 Xcode 11.4 Beta 2

  • 我在 Xcode 上使用我的 Apple 帐户登录

我这个问题是什么原因造成的?

您想询问的任何其他信息请询问。

谢谢

构建日志:

  CIS.iOS -> D:\VS Projects\CIS\CIS\CIS\CIS.iOS\bin\iPhone\Debug\CIS.iOS.exe

  Detected signing identity:

    Code Signing Key: "#####"
 (7ECA06BC28377204C91D2E63E69C233982161B28)

    Provisioning Profile: "Development" (5aa7573d-6dc8-43e4-9bb0-c65efc5a361a)

    Bundle Id: com.#####

    App Id: 37M96SGRTW.com.#####

  /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch @/Users/zilon/Library/Caches/Xamarin/mtbs/builds/CIS.iOS/0e17d2ede92713351eb68ac0146dd15c/obj/iPhone/Debug/response-file.rsp --gcc_flags=-ObjC 

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(842,3): warning MT4174: Unable to locate the block to delegate conversion method for …
Run Code Online (Sandbox Code Playgroud)

xcode xamarin.ios dsymutil xamarin

2
推荐指数
1
解决办法
4824
查看次数