1. ホーム
  2. macos

[解決済み] gdbが「プロセスIDのMachタスクポートが見つからない」というエラーで失敗する

2022-03-05 20:26:33

質問

私のアプリは正常に動作していますが、gdbは以下のエラーでデバッグに失敗します。

(gdb) run
Starting program: /path/to/app 
Unable to find Mach task port for process-id 83767: (os/kern) failure (0x5).

OS X Lionを使用しています。GDB のバージョンは

$ gdb --version
GNU gdb 6.3.50-20050815 (Apple version gdb-1752) (Sat Jan 28 03:02:46 UTC 2012)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".

解決方法は?

Snow Leopard以降のMac OSのバージョンでは、コードネームで呼ぶだけでは不十分です。 gdb の実行ファイルです。

このガイドに従わなければ動作しません。 http://www.opensource.apple.com/source/lldb/lldb-69/docs/code-signing.txt

について、その方法を解説しています。 lldb でも、この方法は gdb .