mac 10.14.4 gdb安裝 tips


按照常規教程 codesign 之后,gdb仍然提示:

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

解決參考:

macOS Mojave: How to achieve codesign to enable debugging (gdb)?

https://stackoverflow.com/questions/52699661/macos-mojave-how-to-achieve-codesign-to-enable-debugging-gdb

 

This is related to codesign entitlements. you must add "com.apple.security.cs.debugger" key in signing process.

for example you must change codesign -fs gdb-cert /usr/local/bin/gdb to codesign --entitlements gdb.xml -fs gdbcert /usr/local/bin/gdb .

gdb.xml content must something like following code.

 

<?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>

注:如果要取消對gdb的證書簽名,可以使用 codesign --remove-signature /usr/local/bin/gdb 來完成,前提是你的gdb-cert簽名還在。


 

另外一個 error,gdb>run

During startup program terminated with signal ?, Unknown signal.

目前穩定版無解:最終選擇使用 git 開發版:gdb-8.3.50.20190401.tar.xz

下載地址:ftp://sourceware.org/pub/gdb/snapshots/current/gdb-8.3.50.20190401.tar.xz

安裝完成: GDB 版本:GNU gdb (GDB) 8.3.50.20190401-git

解決參考:

GDB errors on macOS Mojave

https://stackoverflow.com/questions/54736753/gdb-errors-on-macos-mojave

OK,gdb!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM