使用仪器时“无法获得授权”

问题描述 投票:0回答:1

我正在尝试使用 Instruments 来跟踪二进制文件中的内存分配。当我将仪器附加到进程时,它给出错误“无法获得授权”。我按照此处的说明进行操作(https://developer.apple.com/forums/thread/681687?login=true&page=1#767994022)并添加了“get-task-allow”权利。这是 codesign -d 的输出:

codesign -dvvv --entitlements=- /Users/ccleve/.pgrx/16.0/pgrx-install/bin/psql

Executable=/Users/ccleve/.pgrx/16.0/pgrx-install/bin/psql
Identifier=psql-55554944e8e26ef3f50637679e1c2d5ded7430a8
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=6342 flags=0x2(adhoc) hashes=187+7 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=1b033acfe360f3efe957c00c5b0436bb2e686d61
CandidateCDHashFull sha256=1b033acfe360f3efe957c00c5b0436bb2e686d61c71347c05bc36fb2c653fae2
Hash choices=sha256
CMSDigest=1b033acfe360f3efe957c00c5b0436bb2e686d61c71347c05bc36fb2c653fae2
CMSDigestType=2
Launch Constraints:
        None
CDHash=1b033acfe360f3efe957c00c5b0436bb2e686d61
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=0 size=12
[Dict]
        [Key] com.apple.security.get-task-allow
        [Value]
                [Bool] true

我该如何解决这个问题?

xcode instruments
1个回答
0
投票

这对我有用

  1. 创建
    debug.plist
    文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>com.apple.security.get-task-allow</key>
        <true/>
    </dict>
</plist>
  1. 从终端签署您的可执行文件
codesign -s - -v -f --entitlements /path/to/debug.plist /path/to/executable

来源

https://developer.apple.com/forums/thread/681687

https://cocoaphony.micro.blog

© www.soinside.com 2019 - 2024. All rights reserved.